Обновление Windows 10, ведомое копать спасение

Я был Windows 7 двойной загрузки и Linux Ubuntu на моем рабочем столе, и сегодня являюсь днем, они выделили бесплатные обновления Windows 10. Как захватывающий! Я получил обновление, и оно устанавливало, и я уехал для движения, берут 30-минутную дремоту. Однако, когда я возвратился к своему компьютеру, он привел меня к спасательной подсказке личинки.

error: no such partition.
Entering rescue mode...
grub rescue>

Я получаю следующее, когда я ввожу ls:

grub rescue> ls
(hd0) (hd0,msdos5) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1)

После беглого взгляда через людей, которые встретились со спасательной подсказкой личинки, я ввел set и получил следующее

grub rescue> set
cmdpath=(hd0)
prefix=(hd0,msdos6)/boot/grub
root=hd0,msdos6

Я был все еще отчасти потерян после нахождения что определенные команды как normal не работал, и затем я нашел видео учебное руководство, где Вы загружаетесь от CD изображения Linux и выполняете некоторые команды на терминале. К счастью я имел свой CD со мной и загрузился оттуда. Когда я ввел sudo fdisk -l в терминал однако, это - то, что я получил:

ubuntu@ubuntu:~$ sudo fdisk -l

Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xc03ede74

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      206847      102400    7  HPFS/NTFS/exFAT
/dev/sda2          206848  1547022335   773407744    7  HPFS/NTFS/exFAT
/dev/sda3      1547022336  1547943935      460800   27  Hidden NTFS WinRE
/dev/sda4      1547945982  1953521663   202787841    f  W95 Ext'd (LBA)
/dev/sda5      1915731968  1953521663    18894848    7  HPFS/NTFS/exFAT

Говорит здесь, ни одно из моих устройств не имеет систему Linux в них! И я не мог больше следовать видео учебному руководству, чем это...

Я дразнил мозг немного и решил, что sda2 содержал мою систему Windows (так как я помню свой C: диск имеет вокруг ГБ с 700 выходами пространства). После размышления немного больше, я не забываю присваиваться вокруг ГБ с 200 выходами моего пространства на жестком диске к чему-то, что это - Ubuntu, связанная при установке Ubuntu. Я точно не помню, который, но я думаю, что это была в основном Ubuntu "пространство на жестком диске", и это не имело никаких загрузочных файлов в них. Я присвоил две других вещи для Linux, но они были очень маленькими в размере (еще не повреждающий метку на 1 ГБ).

Так, кто-либо может здесь выручить меня, возвращают мое обновление на ходу? Я не буду возражать, если я закончу тем, что имел необходимость полностью удалить разделы, которые имеют Linux в них.

80
задан 22 December 2016 в 18:08

5 ответов

Установка Windows (или ее обновление) вместе с Linux может быть проблематичной.

Попробуйте следующее: https://help.ubuntu.com/community/Boot-Repair



Я использовал его, чтобы исправить проблему после того, как я установил предварительную версию Windows 10, и она сработала. По сути, он переустанавливает grub для работы со всеми установленными на данный момент операционными системами. Обязательно сообщите ему об установке grub в ваш раздел Linux (sd #).

Удачи!

13
ответ дан 22 November 2019 в 23:19

Перед изменением разделов сделайте резервную копию и сохраните ее на другом устройстве. Если нет, замените sda на правильный диск. Затем вы можете начать заново, если восстановите неверный набор с помощью testdisk. При восстановлении с помощью testdisk вам просто нужны все текущие и отсутствующие логические элементы.

sudo sfdisk -d /dev/sda > parts.txt

Отсутствующий раздел находится здесь или между началом расширенного раздела на 1547 ... и первым разделом, показанным на 1915 ...:

/dev/sda4      1547945982  1953521663   202787841    f  W95 Ext'd (LBA)
/dev/sda5      1915731968  1953521663    18894848    7  HPFS/NTFS/exFAT

Вы можете использовать testdisk, но он использует CHS. Вы должны выбрать все существующие разделы и недостающий раздел как логический. Он может отображать множество версий в зависимости от того, сколько раз вы меняли разделы.Поэтому выберите размер, соответствующий отсутствующему, без перекрытия других текущих разделов. Некоторые из них, которые правильно восстановили, просто смогли загрузиться, другие должны переустановить grub. А некоторые не могли исправить раздел восстановления.

http://www.cgsecurity.org/wiki/TestDisk_Step_By_Step

Другой инструмент восстановления - это parted rescue. Он использует секторы, но указанный вами диапазон должен находиться за пределами отсутствующего раздела и не перекрываться с текущими разделами. Лучше всего, если вы знаете точное начало и конец. См. Man parted

http://www.gnu.org/software/parted/manual/html_node/rescue.html

Пользователь, который использовал parted rescue:

http://ubuntuforums.org/showthread.php ? t = 1775331 & p = 10905969 # post10905969

10
ответ дан 22 November 2019 в 23:19

Это неприятная ошибка в программе разметки Windows, а не специфичная для Linux. По иронии судьбы в моем случае он удалил раздел NTFS.

Установщик Windows 10 создает новый раздел (ваш / dev / sda3 ), вырезанный в конце основного раздела Windows sda2 если загрузочный раздел Windows sda1 слишком мал для размещения среды восстановления Windows 10.

Когда он переписывает таблицу разделов для этого, для каждого логического раздела в расширенной таблице разделов sda4 , если он расположен на диске перед предыдущим номером раздела, он отказывается.

В вашем случае разделы Linux были расположены на вашем диске до вашего нового sda5 , но имели более высокие номера разделов чем sda5 до перераспределения.

Если вы просмотрите огромные журналы обновления Windows 10, вы увидите сообщение вроде «6 до 5, ничего не делать», а также старые и новые таблицы разделов.

Windows не перезаписывает содержимое удаляемых разделов, поэтому их можно восстановить, если вы найдете их местонахождение. В моем случае у меня были резервные копии таблицы разделов, но использование testdisk , как описано в ответе Олдфреда , имеет отличные шансы найти их все. Parted rescue будет сложно использовать, так как в вашем случае было удалено более одного раздела.

Чтобы использовать testdisk с вашего Ubuntu Live CD, в терминале типа sudo apt-get install testdisk для его установки и sudo testdisk для запуска.

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

Снова, используя свой Ubuntu Live CD, введите:

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair

, чтобы установить и запустить его.

Теперь Windows может завершить обновление. .

7
ответ дан 22 November 2019 в 23:19

Чтобы использовать восстановление загрузки, вам необходимо установить в BIOS:

  • Включить UEFI (в моем BIOS это:)

    Поддержка устаревших версий ВЫКЛЮЧИТЬ

  • Выключить Безопасная загрузка

Возможно, у вас включена безопасная загрузка, поэтому вы получаете ошибку «неправильно подписанный файл».

1
ответ дан 22 November 2019 в 23:19

На моем компьютере была предустановлена ​​Windows 8, поэтому я уменьшил раздел Windows, чтобы освободить место для Ubuntu. Так было в прошлом году. После второй перезагрузки в апгрейде Windows 10 компьютер больше не загружался. GRUB отображал только командную строку grub rescue . Позже я узнал, что проблема возникла из-за того, что Windows каким-то образом изменила схему разделов. Загрузочный раздел (содержащий обычные данные GRUB) больше не был там, где его ожидал GRUB. Я не знаю, как и почему это произошло.

Первое, что вы можете сделать в режиме восстановления, - это увидеть разделы с помощью команды ls . Мои были:

  • (hd0, gpt1),
  • (hd0, gpt2),
  • и т. Д.

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

ls (hd0,gpt1)/
ls (hd0,gpt1)/boot
ls (hd0,gpt2)/

и т. Д.

Затем введите set в том же приглашении. Он покажет, где GRUB ищет свои файлы. В моем случае (hd0, gpt6) переместился в (hd0, gpt7). Отобразится команда set:

prefix=(hd0,gpt6)/boot/grub
root=hd0,gpt6

Чтобы вернуться в нормальный GRUB, начните с изменения настройки префикса , чтобы он указывал на правый раздел. В моем случае команда была:

set prefix=(hd0,gpt7)/boot/grub

Затем вы можете переключиться из режима восстановления в нормальный режим:

insmod normal
normal

Можно также исправить настройку root с помощью:

set root=(hd0,gpt7)

Но это не является строго необходимым, поскольку это не имеет значения для записей последовательной загрузки Windows. Оказавшись в обычном меню GRUB, вы можете загрузить Windows и завершить обновление Windows. Проблема в том, что вы должны сообщать grub rescue о правильных разделах при каждой перезагрузке. Вот как я это сделал. Я оставил проблему GRUB на потом, потому что не был уверен, будет ли Windows вносить еще какие-то изменения в разделы или загружаться.

Когда Windows закончила работу, я начал решать проблемы GRUB. Нажмите e , чтобы изменить параметры загрузки для Ubuntu. Я изменил все (hd0, gpt6) на (hd0, gpt7) , и Ubuntu загрузилась.

Однако я использую зашифрованный раздел и криптографический обмен. При загрузке Ubuntu попросила меня ввести кодовую фразу. К счастью, я сохранил его при установке Ubuntu и ввел при загрузке. Ubuntu загрузился без проблем.

Затем я исправил файл /boot/grub/grub.cfg , где заменил (hd0, gpt6) на (hd0, gpt7) и выполнил:

sudo grub-install

На тот момент единственной оставшейся проблемой было шифрование. Поскольку номер корневого раздела Ubuntu был увеличен на единицу (7 вместо 6), раздел подкачки претерпел аналогичные изменения. Мне пришлось изменить файл / etc / crypttab так, чтобы он указывал на / dev / sda8 вместо / dev / sda7 .

Я использую только два разделы для Ubuntu (root и swap). Если другие операционные системы, сосуществующие с Windows, используют больше разделов, может потребоваться больше изменений. Особенно, если разделы монтируются по их номерам, а не по их UUID. Взгляните на свой / etc / fstab . Если разделы идентифицируются по UUID, проблем быть не должно. Но если есть / dev / ... строк номер следует исправить, если эти разделы были перенумерованы.

67
ответ дан 22 November 2019 в 23:19

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

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