Нужно ли мне запускать обновление grub после закрытия раздела Ubuntu на новом SSD?

Нужно ли мне запускать обновление grub после закрытия раздела Ubuntu на новом SSD?

Я относительно новичок в 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 при загрузке или ОС при монтировании не могут их различить.

  1. Загрузитесь с помощью Live CD или USB-накопителя.
  2. Размонтируйте все автоматически смонтированные разделы.
  3. Откройте терминал, запустите его sudo fdisk -l, чтобы увидеть путь к устройству раздела SSD.
  4. Сгенерируйте новый UUID для клонированного раздела SSD (похоже, /dev/sda1в вашем случае)

    tune2fs /dev/sdxy -U random
    
  5. Скопируйте этот 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
    
  6. Переустановить 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 со всеми перечисленными ОС.

Связанный контент