私は未だにUbuntu8.04を使っています。
理由は前回の記事 ubuntu8.10でtoshsetを使用してBluetoothを有効にする方法 で述べたとおりです。
ただ、前回の記事でtoshsetを使えるようにする検証ができたので、再度8.10にアップグレードしてみました。
すると、なんとデフォルトでtoshsetが使えるようになっていました。
おお!toshsetが使えるようにアップデートされたんだ!adpsimpsonさんの言ってたことは本当だったんだ。
という喜びもつかの間・・・。今度は画面の表示がおかしくなってしまいました。
インストール後アップデートすると画面が少し下にめり込んでしまい、上部数ドットにゴミが表示されるようになってしまいました。
ネットで調べてもチップセットIntel855GMEで同じ現象に遭遇している人を見ないのです。
原因不明・・・。
ファイルマネージャでWindows共有フォルダが文字化けしたり書き込めなかったりする不具合も相変わらずで、これだったら8.04でいいや、と思い8.04に戻しました。
戻しました。とサラっと書いていますが、現実にはそう簡単にはいきません。
そうです。8.04に戻すことを想定して、システム全体をバックアップ、リストアする方法をあらかじめ調べていたのです。
前置きが長くなりましたが、ここからが本題です。
Windowsでシステムバックアップをする場合、システムパーティション全体をイメージ化するのが定石だと思います。
私は以前PC-JAPANの付録についていたAcronis True Imageを今でも重宝していて、Windowsのシステムバックアップはこれで行っています。
素人目にはファイル全部をコピーして戻せば復元できそうな気がしますが、そういう簡単な話では無いことはWindowsユーザーであれば常識かと思います。
でも、Linuxでのシステムバックアップってどうすればいいんだ?
ファイルのバックアップであればtarなんて常識だし、dumpも有名だし、いろいろと揃っているのだけど。
イメージ化が必要であれば知名度の高いツールが出回っていても良いようですが、あまり聞きません。
そんな折、こんなページを見つけました。
いますぐ実践! Linux システム管理 / Vol.124
メルマガのバックナンバーのページなのですが、dumpを使ってシステムのバックアップとリストアを実践されています。
また、この回の宿題の答えでは、なんとtarを使ってシステムのバックアップとリストアを実践されています。
・・・ということはだ。Linuxって、ファイル全体をコピーして権限を再現できる形で戻せられれば、理論的にはシステムを復元できる、ということなのか。すげー。
ただそのままではMBRやPBRが使えないので、若干手を加える必要はありますが。
参考にしたのは上記「いますぐ実践! Linux システム管理」と、「それ行けLinux」のLinuxにおけるシステムバックアップ、「TOBY SOFT wiki」のUbuntu/システムのバックアップ です。
環境
バックアップ対象 Ubuntu8.04
バックアップ、復元に使用 KNOPPIX5.3.1DVD日本語版
さて、実際に起動しているシステムのバックアップを取るわけだから、システムが普通に動いている状態でバックアップするのは危険な気がします。
シングルユーザーモードで行うのが定石のようですが、どうせリカバリはLiveCDで行うのだからバックアップもリカバリもLiveCDでやってしまおうと思いました。
そんな時に活躍するのがKNOPPIXです。
UbuntuもLiveCDが使えますが、デフォルトでdumpが入っていないんですよね。
そんな大きいプログラムでも無いのでLiveCD上でインストールしてしまってもいいのですが、KNOPPIXのDVD版はなんでもてんこ盛り状態なのでお手軽に使えます。
バックアップの方法ですが、UbuntuのインストールしてあるPCをKNOPPIXで起動し、Ubuntuのインストールしてあるパーティションを外付けハードディスクへバックアップしました。
外付けハードディスクを接続するとデスクトップにアイコンが出ますが、そのままでは書き込めないので右クリック→プロパティ→読み取り専用のチェックを外してからアイコンを左クリックしてマウントします。
Ubuntuがインストールされたハードディスクはマウントする必要はありません。
$ su -
として、rootになっておきます。
外付けハードディスクが /media/sda1 にマウントされ、ubuntuが/dev/hda6 にある場合(デュアルブート環境なんで変な所にあります。(汗))
# dump -0f /media/sda1/ubuntu.dump /dev/hda6
ってすれば、/media/sda1直下にubuntu.dumpというファイル名でhda6のバックアップを作ってくれます。
ちなみに後で知ったのですが、
# dump -0f - /dev/hda6 | gzip > /media/sda1/ubuntu.dump.gz
ってすれば圧縮してバックアップできたんですね・・・。
リストアですが、
まずパーティションをフォーマットして綺麗にしておきます。これにはKNOPPIXのQtPartedを使いました。
で、
/dev/hda6 を書き込み可能でマウントし、そこまで移動します。/media/hda6にマウントされた場合、
# cd /media/hda6 です。
# restore -rf /media/sda1/ubuntu.dump
とすれば、/media/hda6直下にバックアップした全ファイルを展開してくれます。
カレントディレクトリに展開されるので、restoreする際のカレントディレクトリの位置には要注意です。
圧縮した場合は、
# zcat /media/sda1/ubuntu.dump.gz | restore -rf -
とすればいいそうです。
ファイルは戻しましたが、このままでは起動しません。
先ほどパーティションをフォーマットしちゃったからです。
フォーマットしなかったらもしかしたら起動したかもしれませんが未検証です。
なんで起動しないかと言うと、パーティションのUUIDが書き換わっているからです。
さすがの高機能ブートローダーのGRUB君もここまでは自動ではやってくれません。
つーか、なんでUUIDなんてもので管理しているのか調べてみました。
SourceForge.JPのUUIDを使ったディスクドライブ指定 が詳しいです。
Linuxの起動時、/etc/fstab でハードディスクをマウントするときに、/dev/hda3 とかでマウントすると、hda1をさらにパーティションを分けた最にhda3がhda4になってしまい正しくマウントできないことになります。
UUIDでマウントするデバイスを決めていれば、UUIDが同じであればパーティションの位置や物理的なデバイスに関係なく同じディレクトリにマウントできます。
すげ~!!ちょっと感動しました。
横道にそれました。続きです。
まだKNOPPIXを使っている状態です。
まずはGRUBをインストールします。
# grub
grub> root (hd0,0)
grub> setup (hd0)
grub> quit
普通の人はこうです。MBRにGRUBをインストールすればいいです。
が、私の場合、Windowsとのデュアルブートのため、MBRにはWindowsのブートローダーがいます。
GRUBはPBRにインストールします。Ubuntuは hda6 にインストールしています。
# grub
grub> root (hd0,5)
grub> setup (hd0,5)
grub> quit
GRUBだと数値が0始まりだからややこしいです・・・。
と、ここまで書いておきながらなんなんですが、本当にGRUBをインストールする必要があったかは不明です。
フォーマット時に無くなったかも、と思いインストールしたのでした。
無くなってなければそのまま使えますよね・・・。ま、後学のために続けます。(おい・・。)
次に、UbuntuのGRUBの設定を変えます。UUIDが変わったからです。
# tune2fs -l /dev/hda6
とすれば、そのパーティションのUUIDが表示されます。
ずらずらっと情報が出ますが、Filesystem UUID:って所です。
それをテキストエディタにでもコピーしておきます。
# vi /media/hda6/boot/grub/menu.lst
としてUbuntuのGRUBの設定ファイルを変更します。
root=UUID=~ という所すべてを先ほど調べたUUIDに書き換えます。
2009/04/25 追記
ここの作業と同じように、/etc/fstab のUUIDも修正する必要がありますね。(汗)
無くても動きましたが、アップグレード時などに不具合が出るかもしれません。
これで作業終わり!
私の場合はデュアル環境なので、PBRをファイルに出力してWindowsに設定しなくてはいけなかったんですが、その場合のやり方は過去記事見てください。
で、再起動したところ、見事Ubuntu8.04に戻っていました。
8.10を使いたいが、無事にリストアできたし当分は8.04で我慢しよう。
戦いには負けたが勝負には勝った気分。
最近のコメント