У меня есть поле Ubuntu на SSD и вторичном жестком диске (/dev/sdb
) с некоторыми разделами NTFS.
Некоторый контекст: вчера машина была безразлична, и я должен был сильно завершить работу ее (отключенное электроснабжение). На перезагрузке Ubuntu спала бы до режима Emergency. Я узнал, что UUID жесткого диска исчез (не обнаружился в blkid
), таким образом рендеринг /etc/fstab
повреждение. Я прокомментировал строку диска на fstab
и управляемый для начальной загрузки Ubuntu.
Теперь я пытаюсь смонтировать жесткий диск снова. Сначала я попробовал Gparted. Это - вывод от libparted (используемый gparted):
======================
libparted : 3.2
======================
end of file while reading /dev/sdb
The primary GPT table is corrupt, but the backup appears OK, so that will be used.
Интересно, sudo blkid
шоу /dev/sdb
как наличие PTUUID вместо UUID:
$ sudo blkid
/dev/loop0: TYPE="squashfs"
/dev/loop1: TYPE="squashfs"
/dev/loop2: TYPE="squashfs"
/dev/sda1: UUID="e407bc1c-4c2d-4dae-80ce-e6bd96346698" TYPE="ext4" PARTUUID="659e6a1e-01"
/dev/sda5: UUID="f9500440-cddf-41f6-8512-5a30e66fbf3d" TYPE="swap" PARTUUID="659e6a1e-05"
/dev/sda6: UUID="18abc384-a610-4f65-8430-0109548a89ef" TYPE="ext4" PARTUUID="659e6a1e-06"
/dev/sdb: PTUUID="a6e9090d-b5ab-412a-8568-2eee08fa3fa8" PTTYPE="gpt"
Я уверен, что разделы все еще там, я просто не могу смонтировать их. parted
перечисляет их правильно:
$ sudo parted
GNU Parted 3.2
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) select /dev/sdb
Using /dev/sdb
(parted) p
Error: end of file while reading /dev/sdb
Retry/Ignore/Cancel? i
Error: The primary GPT table is corrupt, but the backup appears OK, so that will be used.
OK/Cancel? OK
Model: ATA ST1000LM024 HN-M (scsi)
Disk /dev/sdb: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 316MB 315MB EFI system partition boot, esp
2 316MB 945MB 629MB ntfs Basic data partition hidden, diag
3 945MB 1079MB 134MB Microsoft reserved partition msftres
4 1079MB 979GB 978GB ntfs Basic data partition msftdata
5 979GB 1000GB 21,5GB ntfs Basic data partition hidden, diag
(parted) q
Таким образом, существует 2 ошибки (Error: end of file while reading /dev/sdb
,Error: The primary GPT table is corrupt, but the backup appears OK, so that will be used.
) которые, вероятно, представляют немонтируемый раздел. Какие-либо идеи, как решить их?
ОТРЕДАКТИРУЙТЕ Это - вывод ntfsfix
:
$ sudo ntfsfix /dev/sdb
Mounting volume... NTFS signature is missing.
FAILED
Attempting to correct errors... NTFS signature is missing.
FAILED
Failed to startup volume: Invalid argument
NTFS signature is missing.
Trying the alternate boot sector
Unrecoverable error
Volume is corrupt. You should run chkdsk.
Вывод РЕДАКТИРОВАНИЯ gdisk
GPT fdisk (gdisk) version 1.0.1
Caution: invalid main GPT header, but valid backup; regenerating main header
from backup!
Caution! After loading partitions, the CRC doesn't check out!
Warning! Main partition table CRC mismatch! Loaded backup partition table
instead of main partition table!
Warning! One or more CRCs don't match. You should repair the disk!
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: damaged
****************************************************************************
Caution: Found protective or hybrid MBR and corrupt GPT. Using GPT, but disk
verification and recovery are STRONGLY recommended.
****************************************************************************
ОТРЕДАКТИРУЙТЕ Это - команда, которую я неправильно выполнил, который доставил неприятности: sudo dd if=/dev/zero of=/dev/sdb bs=512 seek=1
TLDR: Я смог восстановить диск (с данными) путем записи с gdisk
(w
команда).
, Как был обсужден в вопросе и разделе комментария, это - сценарий: Я случайно уничтожил заголовок GPT диска путем издания dd
с 0s на /dev/sdb
.
я работал gdisk(8)
на диске, который сообщил, что заголовок GPT был поврежден, но резервное копирование было прекрасно и было загружено резервное копирование. В gdisk
CLI, я работал w
команда (который пишет информацию о таблице разделов в диск), и вышедший. После этого, /dev/sdb
был немедленно распознан и смонтирован Ubuntu, и никакие другие изменения не были необходимы.