私は内部SSDを搭載したラップトップを持っています(samsung-SSDと呼びましょう)、USB3を介して接続された外部SSDにununtu 12.04をインストールしたいと思います(これを頂点2と呼びましょう)。
Ubuntu isoをダウンロードし、そこから起動可能なusbキーを作成しました。
次に、USBキーで起動し、ubuntuのインストールに従いました。
/dev/sda is the internal samsung-SSD.
/dev/sdb is the usb key from which I am installing
/dev/sdc is the external vertex2 on which I am installing.
インストールが完了したら、今回は頂点2からUbuntuを起動します。しかし、usbキーはもう存在しないため、vertex2は/ dev/sdbとして知られています。/dev/sdcが存在しないため、Ubuntuは/ dev/sdcで起動しようとして失敗しました。
そのため、BusyBoxターミナルがメッセージとともに表示されます
ルートデバイスを待ってあきらめた。一般的な問題...
このターミナルでは、次のことができます。
# only vertex2 is plugged
> ls /dev | grep sd
/dev/sda # samsung SSD
/dev/sda1
/dev/sda2
/dev/sdb # vertex2
# removing vertex2
> ls /dev | grep sd
/dev/sda # samsung SSD
/dev/sda1
/dev/sda2
# pluging usb
> ls /dev | grep sd
/dev/sda # samsung SSD
/dev/sda1
/dev/sda2
/dev/sdb # usb stick
# pluging vertex2 in addition to usb stick
> ls /dev | grep sd
/dev/sda # samsung SSD
/dev/sda1
/dev/sda2
/dev/sdb # usb stick
/dev/sdc # vertex2
これで、vertex2は/ dev/sdcとして認識されます(インストール中)。
> exit # this command tries to resume the boot process
この方法で、ubuntuで起動できます。
だから私の質問は:/ dev/sdcではなく/ dev/sdbで起動しようとするようにubuntuを設定するにはどうすればいいですか?
mount
とchroot
でそれを達成できますか?
編集: my fstab
:
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sdc2 during installation
UUID=2586eee0-5f24-462b-b44d-5c9a25aebe6c / ext2 errors=remount-ro 0 1
# swap was on /dev/sdc5 during installation
UUID=56498034-3361-4d7d-ae7f-dc8e69b582ed none swap sw 0 0
私が理解していないのは、私のfstabでは、頂点2がUUIDで認識されているということです。したがって、sdbまたはsdcとして表示されるかどうかは問題ではありません。それでも、sdcとして表示される場合にのみ起動できます... fstabで頂点UUIDをsdbに置き換えようとしましたが、解決しませんでした。起動時にドライブをマウントするために他のファイルが使用されているようです。
編集2:ブートメニューで、エントリを編集できます。 e
を押してUbuntuエントリを編集すると、次のテキストが表示されます。
recordfail
gfxmode $linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
set root='hd2,msdos2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd2,msdos2 --hint-efi=hd2,msdos2 --hint-baremetal=ahci2,msdos2 25\
86eee0-5f24-462b-b44d-5c9a25aebe6c
else
search --no-floppy --fs-uuid --set=root 2586eee0-5f24-462b-b44d-5c9a25aebe6c
fi
linux /boot/vmlinuz-3.5.0-17-generic root=/dev/sdc2 ro quiet splash $vt_handoff
initrd /boot/initrd.img-3.5.0-17-generic
Sdc2をsdb2に変更し、f10を押してブートを再開すると、ubuntuが正常にブートします(BusyBoxプロンプトなし)。
このテキストは/boot/grub/grub.cfg
にあります。ただし、直接編集しないでください。次のヘッダーがあります。
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
Grub configに/ dev/sdc2がありません:
> Sudo grep -r "sdc2" /etc/grub.d/
> #no results
Sdc2はどこから来たのですか?永続的にsdb2に変更するにはどうすればよいですか? (ブートメニューの変更は一時的なものです。)
次のいずれかを設定してみてください。
GRUB_DEVICE_UUID=2586eee0-5f24-462b-b44d-5c9a25aebe6c
GRUB_DEVICE=/dev/sdb
ファイル内:/etc/default/grub
次に実行:Sudo update-grub