Я относительно новичок в Ubuntu, использую 12.04 LTS уже несколько месяцев. Я установил его на вращающийся накопитель Seagate на 160 ГБ с двойной загрузкой с Windows Vista, и все идет хорошо. Недавно я установил 120 ГБ Kingston HyperX ssd и использовал Clonezilla для клонирования раздела Ubuntu на ssd. Это сработало отлично, и с подключенным только Kingston я могу загрузиться с него без проблем.
В конечном итоге я намерен загрузиться с SSD-накопителя Kingston и использовать Seagate для хранения данных, время от времени загружая Vista. (Оставив оригинальную установку Ubuntu на Seagate в качестве резервной копии)
Когда мой компьютер включается, я нажимаю Esc, чтобы открыть меню загрузки, выбираю Kingston, открываю меню Grub, и время от времени кажется, что он на самом деле загружается с Seagate; я знаю это, потому что слышу, как осуществляется доступ к диску, а также вижу в системном мониторе доступное для Ubuntu место.
Если подключен только Kingston, Ubuntu запускается нормально, поэтому я знаю, что он работает, но если подключен еще и Seagate, то, думаю, Ubuntu путается в меню grub, иногда запускаясь с Seagate, а иногда с Kingston.
У меня такой вопрос (помимо уничтожения установки Ubuntu на Seagate): как вы думаете, нужно ли мне запускать обновление grub, когда подключен только Kingston, чтобы система переориентировалась на новый накопитель?
Заранее спасибо.
решение1
Я думаю, что это произошло, клонирование приводит к появлению двух разделов с одинаковым UUID. Поэтому Grub при загрузке или ОС при монтировании не могут их различить.
- Загрузитесь с помощью Live CD или USB-накопителя.
- Размонтируйте все автоматически смонтированные разделы.
- Откройте терминал, запустите его
sudo fdisk -l
, чтобы увидеть путь к устройству раздела SSD. Сгенерируйте новый UUID для клонированного раздела SSD (похоже,
/dev/sda1
в вашем случае)tune2fs /dev/sdxy -U random
Скопируйте этот UUID отсюда:
sudo blkid /dev/sdxy
Смонтируйте раздел SSD (/dev/sda1), отредактируйте его
/etc/fstab
, чтобы обновить старый UUID на новый:sudo nano /media/ssd_part/etc/fstab
/media/ssd_part/
там, где он установлен.Замените старый UUID на скопированный в строке для root
/
.Пример:# /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # <file system> <mount point> <type> <options> <dump> <pass> # / was on /dev/sda1 during installation UUID=4c0c4c6d-708b-45b0-b9e9-a5e6a7de491e / ext4 errors=remount-ro 0 1 # /media/sneetsher/gnu_files/ was on /dev/sda5 during installation UUID=bf958b50-c15a-45fd-b946-36ab1612045b /media/sneetsher/gnu_files/ ext4 defaults 0 2 # swap was on /dev/sda2 during installation UUID=d15727d5-78c2-4a46-aa67-66895d7f6371 none swap sw 0 0
В этомпример, Посмотрите на эту строку, которая имеет точку монтирования
/
UUID=4c0c4c6d-708b-45b0-b9e9-a5e6a7de491e / ext4 errors=remount-ro 0 1
Переустановить Grub на SSD
sudo grub-install --root-directory=/media/ssd_part /dev/sdx
На данный момент grub на SSD знает обо всех ОС. В то время как grub на HDD все еще не выводит Ubuntu с SSD.
Если каждый диск имеет раздел с флагом загрузки. BIOS загрузит первый диск в списке порядка загрузки. Так что если вы загрузились со старого HDD, обновите его grub.
sudo update-grub2
Затем на обоих дисках есть grub со всеми перечисленными ОС.