У меня есть ноутбук с внутренним SSD (назовем его samsung-SSD), и я хотел бы установить ununtu 12.04 на внешний SSD, подключенный через USB3 (назовем это vertex2).
Я скачал 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.
Установка завершена, на этот раз я загружаю Ubuntu из vertex2. Но поскольку здесь больше нет ключа usb, vertex2 известен как / dev / sdb. Ubuntu попытался загрузиться на / dev / sdc и потерпел неудачу, потому что / dev / sdc не существует.
Таким образом, появляется терминал BusyBox с сообщением
Gave up в ожидании корневого устройства. Общие проблемы ...
blockquote>В этом терминале я могу сделать следующее:
# 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.
Итак, мой вопрос: как мне настроить Ubuntu, чтобы она пыталась загрузиться с / dev / sdb вместо / dev / sdc ?
Может Я добиваюсь этого с помощью
mount
иchroot
?Редактировать: мой
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 ... Я попытался заменить UUID вершины на sdb в fstab, и это не помогло. Как будто какой-то другой файл используется для монтирования дисков при загрузке.
Редактировать 2 : в меню загрузки я могу редактировать записи. Если я отредактирую запись Ubuntu (нажав
e
), я увижу этот текст: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 #
Я не вижу / dev / sdc2 в конфигурации grub:
> 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