先日、それまでWindows XPのパーティションを削除して、そこにGpartedのLive CDを使ってUbuntuのroot パーティションを移動しました。
で、当然そのままじゃあ移動した先のパーティションでは、bootしません。(GRUBの設定がされていない)
ので、GRUBの設定すれば良いんですが、CDでbootしてるのでgrub-setupなども通りません。
(bootしているのはCDだから)
さて、どうすべ?
以前、別の作業をした際に、「mountした先のパーティションを現在の任意のディレクトリにmountできるmountコマンド」と言うのを使った覚えがあったので、調べてみました。
正確に言うと、chroot コマンドですね。
参考になったのは、こちら
Ubuntu日本語フォーラム / 10.04にあっぷでーとでgrubえらー
1. まず、CD boot後に、
/dev, /sys, /proc については、個別に mount しておかないと chroot 出来ませんでした。
2. なので、/dev, /sys, /proc をmount。この時に --bind と言う mount optionを使います。
4.この状態で、GRUB の再インストール
因みに、chroot は、指定したshell(今回の場合、/bin/bash)を起動して、その中で作業を行う形です。
また、mount したものは、しっかりumountして reboot します。
(2010/12/24 以下、間違っていたので全部削除)
それが、このoption
これを使うと、
まず、CD boot後、
1. mount /dev/sda1 /mnt
2. mount --bind /mnt /
この状態で、
3. この後、GRUB の再インストールをすれば、HDD bootすると、メデタくboot!
という訳で、また、「こんなこともあろうか」と言えるように、ここにメモっておきます。
以上
で、当然そのままじゃあ移動した先のパーティションでは、bootしません。(GRUBの設定がされていない)
ので、GRUBの設定すれば良いんですが、CDでbootしてるのでgrub-setupなども通りません。
(bootしているのはCDだから)
さて、どうすべ?
以前、別の作業をした際に、「mountした先のパーティションを現在の任意のディレクトリにmountできるmountコマンド」と言うのを使った覚えがあったので、調べてみました。
正確に言うと、chroot コマンドですね。
参考になったのは、こちら
Ubuntu日本語フォーラム / 10.04にあっぷでーとでgrubえらー
1. まず、CD boot後に、
mount /dev/sda1 /mnt
/ (boot CD)この後、件の chroot すればいいはずなんですが、
|
+-mnt <--- /dev/sda1
/dev, /sys, /proc については、個別に mount しておかないと chroot 出来ませんでした。
2. なので、/dev, /sys, /proc をmount。この時に --bind と言う mount optionを使います。
mount --bind /dev /mnt/dev
mount --bind /sys /mnt/sys
mount -t proc none /mnt/proc
ここまでで、こんな感じ
/ (boot CD)3. ここで、 chroot
|
+-mnt <--- /dev/sda1
|
+-dev ---> /dev
+-sys ---> /sys
+-proc ---> /proc
chroot /mnt /bin/bashこれで、 /dev/sda1 の /(root) 以下が、見かけ上、 /devsda1 がmount された様に見える。
4.この状態で、GRUB の再インストール
grub-install /dev/sda以上ですね。
因みに、chroot は、指定したshell(今回の場合、/bin/bash)を起動して、その中で作業を行う形です。
また、mount したものは、しっかりumountして reboot します。
(2010/12/24 以下、間違っていたので全部削除)
それが、このoption
--bind olddir newdirこれは、olddir を newdir へmountし直すって感じ。
これを使うと、
まず、CD boot後、
1. mount /dev/sda1 /mnt
/ (boot CD)
|
+-mnt <--- /dev/sda1
2. mount --bind /mnt /
/ (boot CD) <--- /mnt <--- /dev/sda1
|
+-mnt <--- /dev/sda1
この状態で、
cd /すると、/dev/sda1 の / 以下が見えるようになります。
3. この後、GRUB の再インストールをすれば、HDD bootすると、メデタくboot!
という訳で、また、「こんなこともあろうか」と言えるように、ここにメモっておきます。
以上
Powered by ScribeFire.