復旧方法
/etc/fstab に追記していた、日本語・記号が入っていた行をコメントアウトして、再起動した。
問題発生の経緯
- virtual box の、ホスト(win10)-ゲスト(ubuntu)間で、ファイル共有をしたかったので、virtual boxで共有フォルダの設定をした。
- ubuntuを再起動すると、ファイル共有が維持されなかったので、維持するために/etc/fstab に設定を追記した。
追記した内容に、日本語・記号が入っていた。(これが問題の原因) - ホスト(win10)-ゲスト(ubuntu)間で、ドラッグ・ドロップでファイルのやりとりをしたかったので、方法を調査し、Virtualbox GuestAdditionsのCDの挿入や削除を繰り返した。
(ドラッグ・ドロップはまだうまくいっていない。)
→sudo apt-get install virtualbox-guest-dkms これで、できるようになった。カーネルのアップデート後にこれが必要らしい。 - その後、Ubuntuのウィンドウの大きさの変更時の画面描画が遅くなってしまったので、直そうと思い、Virtualbox マネージャーで、システムやディスプレイの設定を変更した。
- 変更しても画面描写の速度は改善せず、初期状態のUbuntuで再現するのかを確認しようと思い、Virtualboxに、別のubuntuをインストールした。(ver.16のイメージがあったので、それを使用し、アップデートを行った。)
- 元々入れていたUbuntuが、emergency modeでしか起動しなくなった。(問題発生)
原因究明までの経緯
- Virtualbox マネージャーで、システムやディスプレイの設定の変更を元に戻した。
- 追加したubuntuを削除した。
- grubでパティションの調査・kernelの指定(問題解決には関係なかった。)
- ブート領域の復旧方法の調査
- fstabの該当記述をコメントアウト(問題の解決(復旧))
知っている方なら1分で解決できると思うが、丸2日程度かかってしまった。
つまづいた内容・その理由
- ブート、記憶領域、マウントなどの知識・スキル不足
- emergency modeだと、lsでなにも表示されないので、データが全て消えてしまったのか、アクセスできなくなったと思い、grubからの復旧方法の調査に時間をかけてしまった。(実際にはls -laで表示される。)
- fstabに、/bootの記述がなかったので、ブート領域が消えたか壊れたのかと思い、その復旧方法の調査に時間をかけてしまった。(なぜ/bootの記述がないのかは、今も分からない。)
- 原因となる変更点以外の変更も行った後に問題が発生したので、原因の切り分けが難しく、時間がかかった。
学んだ事・知った(触れた)単語/コマンド
- エラーログを順番にあたっていくのが問題解決へ最短の道。
今回で言うと、起動時のエラー、Dependency failed for Local File Systems. - 当初、virtualbox utbuntu GUI 起動しない などで検索していたが、
起動時のエラー表示を順番に調査していく方が解決には早かった。
(エラー表示が流れて読めない場合は、そのログの保存場所から調査する。) - 自分の予想に基づいた試みをする場合は、時間を区切ってやるべきだった。(今回の場合は、変更点の手戻しや、ブート領域の復旧調査は、エラーログの直接的な指摘ではなく、自分の予想が入っていた。例えば、まず予想に基づいて3時間チャレンジしてみて、ダメだったら一旦忘れてエラーログを1から見ていくという手順を踏めば、もっと早く解決できたと思う。)
- grub
- /etc/fstab
- cat /etc/lsb-release ディストリビューションのバージョン確認
- cat /proc/version カーネルのバージョン確認
- dpkg --list | grep linux-image インストールされていたカーネルの確認(上との違いは不明)
- dmesg | grep sda 認識されているデバイスの確認
- blkid パーテションの確認
- fsck ファイルシステムの修復
- UEFI BIOSではないブートマネージャ
- mount -a
- init ランレベルを指定できる
- systemctl CUI/GUIを切り替えられる
- journalctl -xb | grep error errorログ全部表示?
- ext4 linuxの標準ファイルシステム
- mount -t ext4 ext4でマウントされているファイルシステムのリストを表示
- /etc/grub.conf
- /etc/inittab
- /etc/X11/xorg.conf
- /var/log/ ログの場所
- /etc/rsyslog.conf syslogの出力先設定
- lessはエンターで行送り、スペースでページ送り
- UUID ハードディスクの識別ID
- vmlinuz カーネルの実行バイナリ?
- LVM 論理ボリュームマネージャ
- VG ボリュームグループ
- attempt = 試みる(英単語)
- Live USB CD/DVD 起動すらしない時に、これらを利用してデータアクセス・マウントする方法がある。
- Ubuntu boot repair Live CD/DVDから利用し、GRUB2やカーネルの再インストールができる。
- virtual boxの設定で、ブートデバイスの優先順位を設定することができる。