GRUB загружает установку Ubuntu из неправильного SSD

Начиная с исходного SSD моего Ноутбука (sdb) является относительно маленьким (100 ГБ), я недавно установил другой SSD (sda) с большей мощностью (500 ГБ). Моя идея состояла в том, чтобы клонировать старый SSD (sdb) на новый SSD (sda) с dd команда, поэтому я выполнил следующую команду от live-usb-ubuntu-stick:

sudo dd if=/dev/sdb of=/dev/sda bs=64K

для копирования содержания sdb (более старый SSD) на sda (более новый SSD).

После того, как я выполнил эту команду, я испытал затруднения при начальной загрузке от любого из этих двух SSD (оба из которых все еще установлены в ноутбуке). Я затем работал boot-repair команда и теперь GRUB запускается обычно, когда я загружаюсь от sda. GRUB дает мне следующие опции:

 - Ubuntu
 - Windows 7
 - Ubuntu (on /dev/sda5)
 - Windows 7 (on /dev/sda2)

Проблема - это, когда я хочу запустить версию Ubuntu на более новом SSD (опция Ubuntu (on \dev\sda5) в GRUB), GRUB все еще загружает установку Ubuntu на старом SSD \dev\sdb5.

Я думаю, что, возможно, должен был бы внести ручные изменения в \boot\grub или в файл \etc\fstab на sda?

\etc\fstab в настоящее время имеет следующее содержание (на \dev\sda):

# /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/sdb5 during installation
UUID=c4055038-09dd-417e-88f1-228ffcf873c1 /               ext4    errors=remount-ro 0       1
# swap was on /dev/sdb6 during installation
UUID=9c79ac5d-78a8-4ab7-9141-8397cb686e25 none            swap    sw              0       0

Править:

Когда я выбираю Ubuntu (on \dev\sda5) в GRUB и я затем работаю lsblk в терминале я получаю следующее:

sda      8:0    0 465.8G  0 disk 
├─sda1   8:1    0   102M  0 part 
├─sda2   8:2    0  78.3G  0 part 
├─sda3   8:3    0     1K  0 part 
├─sda5   8:5    0 195.8G  0 part 
└─sda6   8:6    0   7.9G  0 part 
sdb      8:16   0 119.2G  0 disk 
├─sdb1   8:17   0   102M  0 part 
├─sdb2   8:18   0  78.3G  0 part 
├─sdb3   8:19   0     1K  0 part 
├─sdb5   8:21   0  31.8G  0 part /
└─sdb6   8:22   0   7.9G  0 part [SWAP]
1
задан 1 November 2018 в 00:31

1 ответ

clone-ubuntu.sh Сценарий Bash

Используя clone-ubuntu.sh быстро сделает то, что Вы хотите. Отрывки соответствующих норм для рассмотрения проблемы включены ниже, но посещают ссылку для полного изображения.

Клон как dd

Клон как dd но сделайте это, не перезагружая в Живой USB. Виртуальные файловые системы автоматически пропускаются, чтобы сэкономить время и устранить ошибки. Сценарий может быть повторно выполнен в случае необходимости (Вы тестируете обновления/обновления Ubuntu, например), и быстрее во второй раз:

rsync -haxAX --stats --delete --info=progress2 --info=name0 --inplace  \
      /* "$TargetMnt"                                                   \
      --exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found}

Обновление /etc/fstab

Используя lsblk для установления входного и выходного UUID, изменения внесены автоматически в новом клоне:

# Update /etc/fstab on clone partition with clone's UUID
echo ""
echo "====================================================================="
echo "Making changes in: $TargetMnt/etc/fstab"
echo "        from UUID: $SourceUUID"
echo "          to UUID: $TargetUUID"
sed -i "s/$SourceUUID/$TargetUUID/g" "$TargetMnt"/etc/fstab

Обновление grub меню с новыми записями

Личинка должна знать корректный UUID и clone-ubuntu.sh автоматически делает их для Вас:

# Update /boot/grub/grub.cfg on clone partition with clone's UUID
echo ""
echo "====================================================================="
echo "Making changes in: $TargetMnt/boot/grub/grub.cfg"
echo "        from UUID: $SourceUUID"
echo "          to UUID: $TargetUUID"
echo "Also change 'quiet splash' to 'nosplash' for environmental awareness"
echo "Suggest first time booting clone you make wallpaper unique"
sed -i "s/$SourceUUID/$TargetUUID/g" "$TargetMnt"/boot/grub/grub.cfg
sed -i "s/quiet splash/nosplash/g" "$TargetMnt"/boot/grub/grub.cfg

Сводка

Соответствующий удар / команды оболочки включены так, можно сделать те же шаги вручную для успешного клона, который загружается и работает как ожидалось.

0
ответ дан 7 December 2019 в 22:40

Другие вопросы по тегам:

Похожие вопросы: