2013/05/19

USBに入れたisoファイルからのブート

PCの復旧作業

Linux PC起動不可

数日前、帰宅したら起動しっぱなしにしていた家電(含PC)の電源が落ちた形跡があった。
ひとまず再起動していったものの、メインのデスクトップとして使っていたLinux PCが起動しなくなった。

具体的には、grubまではOKだけどそこからOSを選択して起動しようとしても起動しない感じ。
コンソールでメッセージを追ってみた感じでは、
VFS: unable to mount root fs
と表示されているように見えた。

USB BootできるUSBを作るソフト

とりあえず何かしらの手段でBootしないと何もできないので、USBメモリからBootさせることにした。
そして… どうせなら1CD Linuxいくつか入れたりとかした方がおもしろいかも?と思いついた。そこで、USBメモリに複数のisoファイルを入れてBoot時に選択する方法を探してみた。

結果見つけたのがXBOOT
使い方も簡単で、さくさくBoot用USBを作れた。

ただ1点課題が。
同じディストリビューションの違うバージョンのisoファイルを入れても、1つしか登録されないっぽい。
これに気づいたのは、Ubuntuの32bit版と64bit版を両方入れてみたのにgrubでは片方し表示されなかったため。

作成後のgrubの設定とか編集すれば複数登録もできそうな気はしたけど、面倒だったのとXBOOTを使ったBoot用USB再作成が簡単だったので、必要に応じて作りなおすことにした。


復旧作業 その1

コンソールで表示されているメッセージで検索すると、initramfsが変になっていると起こることがある、等書いてあった。
そこで、USBから1 CD Linuxを起動し、下記のように半ば無理やりinitramfsを更新してみた。
sudo mount <元のrootが入っていたデバイス> /mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
chroot /mnt
mount <元の/bootが入っていたデバイス> /boot
update-initramfs -u -k all
update-grub2
結果は… 状況変わらず


復旧作業 その2

他に手がかりもなかったので、/etc等のバックアップ → XubuntuのイメージからInstall Xubuntuを起動 → 修復インストールを実施。
一部のサーバ系ソフトウェアの設定が元に戻ったり、ユーザごとのcrontabが消えてしまったりしたものの、無事起動することを確認。
どこか別のファイルが壊れてたのかなぁ…


参考

0 件のコメント:

コメントを投稿