Самый быстрый и эффективный способ был бы третьим примером, который я привел, если вы используете устаревшую GRUB.
Первый пример:
Вы не можете использовать опцию fixmbr в Windows, поскольку на внешнем жестком диске не работает Windows. То, что вы можете попробовать и сделать, это использовать утилиту Ubuntu Boot Repair с оперативной загрузкой на внешнем жестком диске для восстановления загрузочных секторов:
- Сделайте резервную копию всех ваших данных с внешнего жесткого диска, возможно, переместите его оттуда.
- Загрузите и запишите Ubuntu live ISO на внешний жесткий диск (не сетевой установщик).
- Загрузитесь с внешнего жесткого диска (загрузитесь в Ubuntu на вашем внешнем жестком диске).
- Установите утилиту
boot-repair
с терминала:
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install boot-repair
Запустите Boot Repair и используйте параметр Recommended repair . Это должно исправить основную загрузочную запись на вашем внешнем диске и удалить GRUB из него.
Затем перейдите к загрузке в Windows и откройте Управление дисками, когда внешний жесткий диск подключен.
Удалите все разделы на внешнем жестком диске и переформатируйте его. Убедитесь, что вы удалили все разделы и правильно отформатировали их. Не используйте быстрый формат.
Получите все ваши файлы / данные обратно на внешний жесткий диск.
Смотрите связанные вопросы и ответы:
Как удалить Ubuntu и поставить Windows?
Второй пример:
Я надеюсь, что это поможет, однако, зачем вам загружаться, когда подключен внешний жесткий диск? Вы можете просто подключить его после загрузки.
Другой вариант исправить это, не пытаясь удалить GRUB:
- Подключите внешний жесткий диск к компьютеру.
- Загрузитесь и войдите в BIOS Setup.
- Поскольку вы объяснили, что вы всегда входите в режим grub rescue, это означает, что, пока ваш внешний жесткий диск подключен, GRUB имеет приоритет в процессе загрузки. Сделайте Windows Boot Manager первой опцией для загрузки или полного удаления GRUB в качестве опции загрузки. Поскольку это внешний жесткий диск USB, это может произойти, если загрузка с CD/USB также является вашей первой опцией.
- Сохраните настройки и перезагрузите компьютер.
Таким образом, вы без проблем загрузитесь в Windows, даже если подключен внешний жесткий диск. GRUB, существующий в этом диске, не должен быть проблемой.
См. Как отключить загрузку с USB или CD в BIOS Setup
Третий пример:
Примечание: следующее работает только для Legacy (MBR) GRUB. Не используйте для EFI GRUB.
Если эти двое не помогают или не удовлетворяют ваши потребности, есть другой путь.
GRUB Image Documentation заявляет следующее о загрузочном образе GRUB:
В системах BIOS компьютера этот образ является первой частью GRUB, которую нужно запустить. Он записывается в основную загрузочную запись (MBR) или в загрузочный сектор раздела. Поскольку загрузочный сектор ПК составляет 512 байт, размер этого образа составляет ровно 512 байт.
Таким образом, перезаписывая первые 512 байт внешнего жесткого диска нулями, вы получите диск, чистый из загрузочной записи или GRUB.
Сделать это:
- Загрузите Live Ubuntu ISO и запишите его на внешний жесткий диск или, если возможно, на другой USB-накопитель. Однако имейте в виду, что на следующих шагах внешний жесткий диск должен быть подключен.
- Загрузитесь в живую среду Ubuntu и откройте свой терминал.
- Найдите устройство, соответствующее вашему внешнему жесткому диску, с помощью
lsblk
. Если вы загружаетесь с внешнего жесткого диска, то его первый раздел должен быть смонтирован на /
. Имейте в виду, что вам нужен путь ко всему диску, а не к разделу, например /dev/sdb
, а не /dev/sdb1
.
- Перезаписать первые 512 байт:
sudo dd if=/dev/zero of=[path_to_external_hard_drive] count=1
Это скопирует 1 блок (count=1
) из файла /dev/zero
и запишет его в путь, указанный после of=
, который должен быть вашим внешним жестким диском. Это начнется с начала сектора. В большинстве версий dd
размер блока по умолчанию составляет 512 байт , поэтому нам не нужно его указывать. Однако, если вы хотите быть в безопасности, вы можете указать размер блока с помощью bs
:
sudo dd if=/dev/zero of=[path_to_external_hard_drive] bs=512 count=1
bs
определяет размер блока в байтах. /dev/zero
- это файл, который содержит бесконечное количество символов 0 (из википедии):
/dev/zero - это специальный файл в Unix-подобных операционных системах, который предоставляет столько нулевых символов (ASCII NUL, 0x00), сколько читается из него.
Таким образом, команда скопирует 1 блок из 512 байтов из /dev/zero
(то есть 1 блок, полный нулей) и запишет его в указанный путь. Если мы предполагаем, что /dev/sdb
является вашим внешним жестким диском, то вот полный пример команды (не используйте /dev/sdb
если вы не уверены, что это внешний жесткий диск):
sudo dd if=/dev/zero of=/dev/sdb bs=512 count=1
В этом случае вам не нужно переформатировать внешний жесткий диск, вам не нужно перемещать файлы, однако есть вероятность, что может произойти повреждение файла, поэтому рекомендуется сделать резервную копию вашего данные. В случае повреждения файла может потребоваться повторно отформатировать внешний жесткий диск. Однако после этого на вашем диске не будет MBR/GRUB.