Обновление Windows 10 привело к спасению личинок

57

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

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

Я получаю следующее, когда я набираю ls :

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

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

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

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

[email protected]:~$ 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-дюймового ГБ пространства). Подумав немного больше, я помню, что при установке Ubuntu было назначено около 200-дюймового ГБ моего дискового пространства на то, что связано с Ubuntu. Я точно не помню, что, но я думаю, что это было в основном Ubuntu «дисковое пространство», и в нем не было загрузочных файлов. Я назначил две другие вещи для Linux, но они были очень маленькими по размеру (не нарушая отметку 1 ГБ).

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

    
задан LChaos2 30.07.2015 в 00:44
источник

5 ответов

49

Мой компьютер поставляется с предустановленной 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, начните с изменения параметра prefix , чтобы указать на правый раздел. В моем случае команда была:

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

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

insmod normal
normal

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

set root=(hd0,gpt7)

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

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

Однако я использую зашифрованный раздел и cryptswap. В ботинке 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/... строк, число должно быть исправлено, если эти разделы были перенумерованы.

    
ответ дан nobody 31.07.2015 в 14:12
13

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

Попробуй это: Ссылка



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

Удачи!

    
ответ дан pdf4664 30.07.2015 в 00:50
9

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

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

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

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

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

Ссылка

Еще один инструмент восстановления распался. Он использует сектора, но диапазон, который вы даете, должен находиться за пределами отсутствующего раздела без перекрытия с текущими разделами. Лучше, если вы знаете точное начало & amp; конец. См. Man parted

Ссылка

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

ответ дан oldfred 31.07.2015 в 17:38

5

Это уязвимость отвратительная в секвенсере Windows, а не в Linux. Иронически удалил раздел NTFS в моем случае.

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

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

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

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

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

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

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

Опять же, используя свой компакт-диск Ubuntu Live, введите:

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

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

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

    
ответ дан Martin Thornton 18.08.2015 в 00:02
0

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

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

    Поддержка устаревших отключений

  • Отключить безопасную загрузку

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

    
ответ дан iacobus 30.07.2015 в 23:18