Рейтинг:0

Смена загрузочного диска после установки нового SSD

флаг in

Для обновления своего настольного ПК (9-летнего ACER Predator G3620 с шестью портами SATA, одним SATA III и пятью другими SATA II) я решил установить SSD вместо оригинального механического жесткого диска. Перед установкой SSD моя настройка двойной загрузки была

Небольшой SSD, подключенный к порту SATA III, содержащий раздел Windows 10 NTFS на /dev/sda3 и раздел ext4 для моего корня Ubuntu 20.04 на /dev/sda5 и

механический диск емкостью 2 ТБ, содержащий, среди прочих разделов, раздел ext4 для /home, на /dev/sdb3 и раздел подкачки linux.

Я не использую EFI, но сохраняю настройки BIOS, как это было при использовании устаревших настроек при покупке ПК. У меня есть порядок загрузки | 1-е загрузочное устройство [жесткий диск ...].

Я сделал резервную копию раздела, содержащего /home, с помощью Clonezilla, удалил механический диск и заменил его твердотельным накопителем емкостью 2 ТБ. Я поменял местами порты SATA, чтобы новый SSD был подключен к порту SATA III, а старый SSD был подключен к порту SATA II. Загрузившись с установочной флешки 20.04, я использовал gparted для создания трех разделов на новом диске, который из-за переключения портов теперь был /dev/sda, /sda1 как ext4, немного больше, чем мой исходный /sda5 (который был теперь /sdb5), /sda2, а также ext4, который был всем диском, за исключением последних 20 ГБ, которые были отформатированы как /sda3, раздел подкачки Linux. Затем я восстановил раздел /home в /sda3. В этот момент /sda3 имел тот же UUID, что и мой старый /sdb3, и я изменил UUID раздела подкачки, чтобы он соответствовал старому разделу подкачки.

После выключения и извлечения флэш-накопителя я включил питание, и все заработало, как и ожидалось, с изменением, которое df сообщил / смонтировал на / dev / sdb5 и / home смонтировал на / dev / sda2. Во время загрузки я также мог выбрать свою установку Windows 10 в меню GRUB2, и она загрузилась правильно.

Я хотел бы внести еще одно изменение, полностью поместить Ubuntu 20.04 на новый диск и позволить Windows 10 иметь весь небольшой SSD, а новый диск станет загрузочным диском. Используя gparted на установочной флешке, я скопировал /dev/sdb5 (где / монтируется) в /dev/sda1 и изменил UUID /dev/sda1, чтобы он не конфликтовал с исходным /dev/sdb5.

В этот момент я подумал, что следуя инструкциям на

https://howtoubuntu.org/how-to-repair-restore-reinstall-grub-2-with-a-ubuntu-live-cd

будет делать то, что я хочу, поэтому я мог удалить /dev/sdb5 и расширить /dev/sdb3. Но перед этим я попытался сделать свой новый диск первым загрузочным в настройках BIOS. Однако, когда я пытаюсь загрузиться с него, я получаю сообщение об ошибке

Перезапустите систему и выберите подходящее устройство загрузки или Вставьте загрузочный носитель в выбранное загрузочное устройство и нажмите клавишу.

Если я вернусь к созданию старого диска первым в порядке загрузки, машина загрузится, но использует старый корень в /dev/sdb5, как это было до того, как я попытался изменить местоположение GRUB.

Я пробовал искать другие решения, но ни одно из них не подходит для моей конкретной ситуации. Я думал, что удаление /dev/sdb5 и повторная попытка установить GRUB могут сработать, но я не хочу пробовать что-то, что может полностью разрушить мою установку. Буду признателен за любые предложения.

Изменить: в соответствии с запросом, вот ссылка на мой сводный отчет о загрузке.

https://paste.ubuntu.com/p/QhyPBh4Csq/

oldfred avatar
флаг cn
Чтобы подтвердить, что где: Давайте посмотрим подробности, используйте версию ppa с вашим живым установщиком (2-й вариант) или любую рабочую установку, а не Boot-Repair ISO: Скопируйте и вставьте ссылку pastebin на сводный отчет о загрузке (не публикуйте отчет), не запускайте автоматическое исправление до проверки. https://help.ubuntu.com/community/Boot-Repair & https://sourceforge.net/p/boot-repair/home/Home/
флаг in
Я не уверен, следовал ли я надлежащей процедуре. Должен ли я также размещать сообщения на help.ubuntu.com/community/Boot-Repair?
oldfred avatar
флаг cn
Я предпочитаю новую чистую установку, но вы можете использовать расширенный режим Boot-Repair и выбрать установку в sda и MBR sda. Устанавливать только в sda. Мне не нравится автофикс Boot-Repair с несколькими дисками, поскольку он устанавливает один grub на все диски. Вам также нужен загрузчик Windows в MBR sdb. Grub загружает только работающую Windows, поэтому, если возникнет проблема, вы хотите иметь возможность напрямую загружать sdb. Вам также необходимо использовать разбиение gpt на sdc, поскольку MBR (msdos) имеет максимальный размер 2 ТБ. Преобразование в GPT или из него — должны быть хорошие резервные копии. http://www.rodsbooks.com/gdisk/mbr2gpt.html Если это сработает, я сделаю ответ.
флаг in
Спасибо, олдфред. Я буду использовать Clonezilla для резервного копирования всего диска /dev/sdb и отдельно раздела /sdb5. Я также сделаю резервную копию /dev/sda2. Если все пойдет не так, у меня будет все, что мне нужно, чтобы восстановить текущую настройку. Я также в конечном итоге конвертирую /dev/sdc, но это другой проект. Я могу использовать все 4 ТБ, поскольку Western Digital отправляет диски с 4096-битными секторами вместо 512. Я использую диск для хранения резервных копий, поэтому больший размер сектора не создает слишком много неиспользуемого пространства.
флаг in
Я еще раз просмотрел отчет о ремонте обуви и понял, что что-то упустил. Флаг загрузки не был установлен для /dev/sda1. Теперь 20.04 загружается из /dev/sda1, но у меня все еще будет ремонтный grub, чтобы получить установку Windows 10 в качестве опции в меню grub. Я подожду, пока все не будет полностью настроено, прежде чем сообщить об этом как о РЕШЕННОМ.
oldfred avatar
флаг cn
Только Windows использует загрузочный флаг, чтобы узнать, в каком разделе BIOS/MBR находится загрузочный файл. Grub ищет загрузочные файлы Windows для добавления в меню grub. И grub не использует загрузочный флаг. Некоторым BIOS нужен флаг загрузки, поэтому мы обычно по-прежнему предлагаем один, если только Linux с grub. UEFI часто использует как флаг загрузки, так и флаг esp в системном разделе ESP — efi. Мне также нравится использовать разметку gpt для всех дисков, кроме тех, которые загружают Windows в режиме BIOS. Я начал преобразование в gpt еще в 2010 году с XP на отдельном диске MBR. Linux нужен раздел bios_grub для загрузки BIOS или ESP для загрузки UEFI, если используется gpt.
Рейтинг:0
флаг in

Спасибо @oldfred за совет и за то, что указал мне правильное направление.

Это была простая оплошность с моей стороны. Когда я разделил новый SSD-накопитель, мне не удалось пометить /dev/sda1 как загрузочный. После этого и изменения порядка загрузки дисков в BIOS все работает, как я и предполагал. Теперь я удалил /dev/sda5 (старый корень Ubuntu) и создал на его месте дополнительный раздел NTFS. Итак, /dev/sda — это вся Ubuntu, а /dev/sdb — это Windows 10.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.