Переустановить GRUB. Какое устройство использовать?

Переустановить GRUB. Какое устройство использовать?

Сегодня утром на загрузочном диске моего компьютера были успешно установлены Windows 10 и Ubuntu 16.04.

Я мог выбирать, загружать Ubuntu или Windows через GRUB. Я также мог запустить Ubuntu как виртуальную машину внутри VMWare Workstation.

По глупости сегодня вечером я выполнил команду sudo apt-get dist-upgradeиз Ubuntu, когда она работала как виртуальная машина в Windows.

Это сделало что-то очень странное. Я не уверен, что именно, но когда он пытался обновить GRUB, он полностью рухнул.

Я перезапустил Windows, и это отправило меня на странно выглядящий экран GRUB; обычный экран grub, но со @знаками, образующими границы вокруг меню. Выбор Windows или Ubuntu привел к Error: Command not found, press any key to continueошибке. Нажатие любой клавиши просто вернуло меня в главное меню GRUB.

Все данные скопированы, и я могу видеть свой загрузочный диск с помощью Macrium Live CD.

Он имеет следующие разделы:

1 - System Reserved = 100MB = This is something to do with Windows, but what? The UEFI bios?
2 - Boot (C:) = 83GB = This is where Windows 10 is installed
4 - (None) = 19.99GB = This where Ubuntu is installed
5 - (None) = 7.94GB = No idea what this is. 8 gb? Completely filled as well. What is this partition?
3 - (H:) = 450MB = No idea what this is.

Так что мне запустить, чтобы восстановить grub на этом диске? Я так понимаю, что мне нужно загрузить мой загрузочный диск Ubuntu и запустить grub-install /dev/xxxxx, однако я не уверен, чем заменить xxxxx.

Я просканировал свои диски с помощью приложения Ubuntu под названием «boot repair», и вот что оно мне выдало.

"blkid" output: ________________________________________________________________

Device           UUID                                   TYPE       LABEL

/dev/loop0                                              squashfs   
/dev/sda1        42F031C2F031BCCB                       ntfs       Current
/dev/sdb1        9834F5D734F5B7F8                       ntfs       Archive
/dev/sdc1        7A900F02900EC51B                       ntfs       System Reserved
/dev/sdc2        62BA1027BA0FF5F7                       ntfs       Boot
/dev/sdc3        8C009F66009F55D4                       ntfs       
/dev/sdc5        7d735d0f-0066-414d-88ad-2c49d8b7bbba   ext4       
/dev/sdc6        e2a27db6-9029-4cf6-903b-5403f64dc38d   swap       
/dev/sdd1        02FE-C63F                              vfat       UUI
/dev/sr0         2016-03-02-11-04-09-00                 udf        RESCUE

Я думаю, что мне нужно запустить grub-install /dev/sdc2как "Boot" - так я назвал свой загрузочный диск, но я действительно не уверен, и я не хочу ничего повредить, поэтому я хотел бы получить подтверждение. Если кто-то может просветить меня о том, что такое мои загадочные разделы (помеченные как System Reserved, Noneи Hв моей первой таблице), я также был бы благодарен.

По сути, все сводится к тому, какой путь мне указать, grub-installчтобы переустановить grub, если это вообще способ исправить мою проблему с загрузкой?

решение1

Вопрос в том, что sdXследует использовать, а не в том, какой sdcY. Если sdaи sdbявляются «дисками данных», то это будет sdc. Указанное устройство — это то, куда grub поместит свой загрузочный код / ​​образ ядра, которым обычно должен быть MBR и промежуток после MBR между ним и первым разделом загрузочного диска.

Большее беспокойство вызывает то, куда будут установлены модули grub и т. д. Это указывается с помощью параметра --boot-directory, и его значение по умолчанию — /boot. В вашем случае я не вижу, чтобы у вас был отдельный раздел, поэтому вам нужно смонтировать его sdc5в live-среде (например, на /mnt). Затем вы либо выполните:

grub-install --boot-directory /mnt/boot /dev/sdc

ИЛИ, если вам удастся выполнить chroot в /mnt:

grub-install --boot-directory /boot /dev/sdc

где --boot-directory /bootможно опустить, так как это подразумевается.

Вы также можете явно указать --target i386-pcдля grub-install, если в вашей системе используется UEFI вместо BIOS и ваша реальная среда каким-то образом загружается в режиме UEFI, а не в устаревшем режиме, как у систем на вашем загрузочном диске (поскольку на нем нет системного раздела EFI, который технически всегда должен быть FAT12/16/32).

Вероятно, вам нужно запустить update-grubafter, grub-installчтобы убедиться, grub.cfgчто это правильно. В отличие от grub-install, update-grubдолжен быть запущен в chroot AFAIK.


1 - Зарезервировано системой = 100 МБ = Это что-то связанное с Windows, но что? UEFI bios?

System Reserved — это как /bootраздел в Linux. Он содержит копию загрузочных файлов Windows (Windows Boot Manager, BCD Store...). Обычно он также содержит среду восстановления Windows. Он разделен в основном для зашифрованного BitLocker системного тома ( C:) и мультизагрузки Windows.

5 - (Нет) = 7,94 ГБ = Понятия не имею, что это. 8 ГБ? Тоже полностью заполнено. Что это за раздел?

Видимо, swapперегородка.

3 - (H:) = 450 МБ = Понятия не имею, что это.

Вероятно, какой-то устаревший раздел восстановления OEM. Держу пари, что изначально он больше и состоит из образа восстановления полной системы, но был удален, а раздел был сжат с тех пор, как вы обновились до Windows 10 или около того (AFAIR Disk Cleanup также имеет опцию, позволяющую это сделать).

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