После того, как я позволил Windows 10 обновить мой ПК с двойной загрузкой, который использует SSD, он не загружается. Я запустил boot-repair и теперь у меня пропал bootmgr. Поэтому я запустил testdisk с live CD, и все разделы показываются как удаленные.
TestDisk 7.0, Data Recovery Utility, April 2015
Christophe GRENIER <grenier@cgsecurity.org>
http://www.cgsecurity.org
Disk /dev/sdf - 120 GB / 111 GiB - CHS 14593 255 63
Partition Start End Size in sectors
>D HPFS - NTFS 0 32 33 63 221 30 1024000
D HPFS - NTFS 63 221 31 8111 174 63 129288192
D HPFS - NTFS 8111 175 1 8218 229 11 1722368
D Linux 8219 39 13 13616 190 14 86712320
D Linux Swap 13616 190 15 14593 66 1 15687680
Аналогичный (но не тот же) вопрос и ответ на вопрос о разделенном списке дисков (и я скопировал данные раздела в текстовый файл). Хотя я включил / dev / sda в качестве данных, я вижу, что в нем есть загрузочная запись, вероятно, перенесенная из предыдущей жизни.
ubuntu@ubuntu:~$ sudo parted /dev/sda unit s print
Model: ATA WDC WD15EARS-00Z (scsi)
Disk /dev/sda: 2930275055s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 206848s 976814079s 976607232s primary ntfs
2 976814080s 2766430207s 1789616128s primary ntfs boot
ubuntu@ubuntu:~$ sudo parted /dev/sdf unit s print
Model: ATA SanDisk SDSSDA12 (scsi)
Disk /dev/sdf: 234441648s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 2048s 1026047s 1024000s primary ntfs boot
2 1026048s 130313813s 129287766s primary ntfs
3 130314240s 132036607s 1722368s primary ntfs diag
4 132040702s 234440703s 102400002s extended
5 218753024s 234440703s 15687680s logical linux-swap(v1)
Разделы кажутся правильными в parted, так почему testdisk показывает их как удаленные? Неверное программное обеспечение? Что мне нужно сделать, чтобы моя машина загрузилась с SSD (/ dev / sdf)? Я подозреваю, что Windows 10 не закончила обновление, поэтому мне нужно позволить этому пройти, возможно, перед тем, как вернуть контроль grub. Я не хочу усугублять ситуацию, выбрав неправильные настройки в testdisk.
Хотя я уже много лет использую Linux, я не знаком с внутренностями.
Меня также смущает слишком много, а иногда и то, что кажется противоречивой информацией. Я хотел бы, чтобы была определенная, простая для выполнения процедура для восстановления после этой повторяющейся двойной ошибки загрузки / обновления, которая, похоже, не исчезнет, пока Microsoft отказывается «поддерживать» двойную загрузку и расстраивает процесс обновления, стирая загрузочная запись.
Мне удалось решить эту проблему с помощью parted, но, как я выразился, я был ошеломлен вариантами и тем фактом, что некоторые из постов, на которые есть ссылки, теперь неполные, потому что пасты исчезли. Я постараюсь опубликовать свое решение с полным выводом, и, надеюсь, оно поможет кому-то ясно увидеть и диагностировать проблему.
Как я уже говорил в своем вопросе, Windows изменила таблицу разделов, и я больше не мог выполнять двойную загрузку, она перешла в grub-rescue. Что бы я ни делал в grub-rescue (я не помню), это не сработало, но теперь я убежден, что восстановление таблицы разделов - это первый (и, возможно, единственный) шаг к успеху. Вот шаги, за которыми я следовал.
0) Получите livecd / usb для запуска Ubuntu, поскольку очевидно, что он не будет загружаться с жесткого диска. Я обнаружил, что boot-repair-cd содержит все, что мне нужно для решения этой проблемы. См. https://sourceforge.net/projects/boot-repair-cd/
1) Сделайте резервную копию таблицы разделов, как oldFred опубликовано выше:
резервная таблица разделов ранее любые изменения, поэтому вы можете вернуться к текущим, если изменения не верны. sudo sfdisk -d / dev / sda> PT_sda.txt Итак, вы знаете сектора: sudo parted / dev / sda unit s print
2) Проанализируйте выходной, чтобы определить, что пропало. Наблюдается, что в таблице есть перекрывающиеся разделы. Смотрите мой пример ниже. 3) Исходя из этого, определите начальный и конечный сектора, содержащие раздел Ubuntu. 4) Запустите parted rescue 5) Перезагрузите компьютер
Пример выходных данных после загрузки машины с загрузочного диска и запуска parted с аннотациями < ==:
(parted) select /dev/sdf <== my OS's are on sdf an SSD
Using /dev/sdf
(parted) print
Model: ATA SanDisk SDSSDA12 (scsi)
Disk /dev/sdf: 120GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 525MB 524MB primary ntfs boot
2 525MB 66.7GB 66.2GB primary ntfs
3 66.7GB 67.6GB 882MB primary ntfs diag
4 67.6GB 120GB 52.4GB extended
5 112GB 120GB 8032MB logical linux-swap(v1)
(parted) unit s <== set parted to use sectors to simplify entering parameters
(parted) print
Model: ATA SanDisk SDSSDA12 (scsi)
Disk /dev/sdf: 234441648s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 2048s 1026047s 1024000s primary ntfs boot
2 1026048s 130313813s 129287766s primary ntfs
3 130314240s 132036607s 1722368s primary ntfs diag
4 132040702s 234440703s 102400002s extended <== note partitions 4 & 5 have same end so 4 must be ubuntu
5 218753024s 234440703s 15687680s logical linux-swap(v1)
(parted) rescue <== run the rescue option specifying the start and end sectors from 4 & 5 above
Start? 132040702
End? 218753020
Information: A ext4 logical partition was found at 132040704s -> 218753023s.
Do you want to add it to the partition table?
Yes/No/Cancel? y <== Whoo Hooo Found it
(parted) print <== print the results after rescue
Model: ATA SanDisk SDSSDA12 (scsi)
Disk /dev/sdf: 234441648s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 2048s 1026047s 1024000s primary ntfs boot
2 1026048s 130313813s 129287766s primary ntfs
3 130314240s 132036607s 1722368s primary ntfs diag
4 132040702s 234440703s 102400002s extended
6 132040704s 218753023s 86712320s logical ext4 <== This looks much better
5 218753024s 234440703s 15687680s logical linux-swap(v1)
Теперь я только что перезагрузился без диска boot-repair-grub, и grub появился до того, как Microsoft так старательно обновила Windows для меня.
Я также столкнулся с этой проблемой на ноутбуке с использованием UEFI. По мере того, как все больше компьютеров используют UEFI, эта проблема изменится, но я сомневаюсь, что она исчезнет - я до сих пор не смог заставить grub работать на ноутбуке UEFI без использования функциональной клавиши для ввода последовательности загрузки, но это еще одна проблема. исправить. Кроме того, я думаю, что пользователи Ubuntu экономны и будут продолжать использовать старое оборудование, потому что Ubuntu не требует столько аппаратных ресурсов, как Windows. Похоже также, что практически невозможно остановить периодическую замену Windows «обновлениями». Так что для тех из нас, кому нужно программное обеспечение, которое работает только на Windows, что делает вариант двойной загрузки привлекательным, фиаско upgrade / "grub-rescue" будет продолжаться.
Спасибо тем, кто прокомментировал и помог. Я опасался этого исправления, пока оно на самом деле не сработало!