パーティションから次のスクリプトに/boot
フォルダを移動しようとしています。/
/dev/sdb
parted -s /dev/sdb mklabel msdos mkpart primary ext2 1M 100% set 1 boot on
mkfs.ext2 /dev/sdb1
mkdir /mnt/boot
mount /dev/sdb1 /mnt/boot
cd /boot
find . -depth -print0 | \
cpio --null --sparse --make-directories --pass-through --verbose /mnt/boot
cd /
umount /mnt/boot
mv /boot /boot.orig
mkdir /boot
echo "/dev/sdb1 /boot ext2 ro 0 2" >>/etc/fstab
mount /dev/sdb1 /boot
parted /dev/sda set 1 boot off
grub-install /dev/sdb
update-grub
reboot
次のエラーが発生します。
error: file '/boot/grub/i386-pc/normal.mod' not found.
grub rescue>
どんなアイデアがありますか?
編集する/boot
/dev/sda2
:上記のスクリプトは、元のディレクトリが別のパーティション(たとえば)にある場合は正しく機能しているようです。パーティション()と同じパーティションにある場合/
にのみ失敗します/dev/sda1
。
Ubuntu 13.04とFedora 19で上記のスクリプトのさまざまなバリエーションを試しましたが、まだfile '/boot/grub/i386-pc/normal.mod' not found
エラーを避けていません。
別のアイデアがありますか?
ベストアンサー1
問題は、グラブが探していることです/boot/grub/i386-pc/normal.mod
新しいパーティションに。これでパーティションのルートがマウントされたため、/boot
ファイルは現在/grub/i386-pc/normal.mod
新しいパーティションにあります。そのパーティションに再インストールする必要がありますgrub
。または、一時アクションとしてを呼び出してシンボリックリンクを作成すると、ln -s . /boot/boot
2つの名前のいずれかでファイルを見つけることができます。