Сегодня утром на загрузочном диске моего компьютера были успешно установлены 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-grub
after, 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 также имеет опцию, позволяющую это сделать).