Intereting Posts
Есть ли альтернатива GPI для графического интерфейса? Выйдя из цикла, вернитесь к началу цикла с правильным значением переменной Создать новую ассоциацию типов файлов Почему при пробуждении по локальной сети от компьютера требуется IP-адрес? монтирование на debian Постоянное переключение на zsh в скрипте, без root и без запроса пароля Какие существуют опции для настройки кэширования файловой системы Linux? Присоединение нескольких команд sed в одном скрипте для обработки CSV-файла Конец сеанса, если команда выхода выполняется параллельно с другой командой Журнал изменений iptables Kernel panic – не синхронизация: попытка убить init! во время ранней загрузки sed для удаления ведущего 91, если число равно 12 цифрам Как использовать cron + python для регулярной регулировки яркости экрана? Какие типы TERM все еще используются? SSH запрашивает парольную фразу для открытого ключа без набора фреймов

Я запустил fdisk на неправильном диске. Как я могу восстановить

Я запустил fdisk на неправильном HD. Я в основном очистил таблицу разделов, нажал w и вышел из fdisk и только потом понял, что это был мой основной жесткий диск …

Я получил это сообщение:

ПРЕДУПРЕЖДЕНИЕ. Повторное чтение таблицы разделов с ошибкой 16: занято устройство или ресурс. Ядро по-прежнему использует старую таблицу. Новая таблица будет использоваться при следующей перезагрузке или после запуска partprobe (8) или kpartx (8) Синхронизация дисков.

Я просмотрел / sys / class / block / sdb / sdb * начальные и размерные файлы – я знал, что это ядро ​​хранило старые смещения и размеры разделов до перезагрузки … И вот моя реконструкция таблицы.

name | startsector | size, sectors | type? ------------------------------------------------------------ sdb1 | 2048 | 2048 | sdb2 | 195510270 | 2 | sdb3 | 4096 | 195504128 | / sdb5 | 195510272 | 761716736 | /home sdb6 | 957229056 | 19542016 | swap partition 

Вот тестирование того, какой тип раздела был:

 cr1tter@cr1tterhost:~$ sudo file -s /dev/sdb{1,2,3,5,6} /dev/sdb1: data /dev/sdb2: x86 boot sector; partition 1: ID=0x83, starthead 254, startsector 2, 761716736 sectors; partition 2: ID=0x5, starthead 254, startsector 761716738, 19544064 sectors, code offset 0x97 /dev/sdb3: Linux rev 1.0 ext4 filesystem data, UUID=b6d939b9-c197-4513-a1fe-9c614574afb0 (needs journal recovery) (extents) (large files) (huge files) /dev/sdb5: Linux rev 1.0 ext4 filesystem data, UUID=96f97705-f292-49db-b31d-249fab87d3d7 (needs journal recovery) (extents) (large files) (huge files) /dev/sdb6: Linux/i386 swap file (new style), version 1 (4K pages), size 2442751 pages, no label, UUID=a5744b72-248c-4ceb-8009-db6351cdc231 

Наверное, я смущен тем, что такое sdb1 и sdb2 ? Я, честно говоря, не могу вспомнить, что они … Когда я устанавливал os – мне приходилось указывать пути, как в / home или корневом пути: / – fdisk, похоже, не позволяет этого делать …

PS> ПОСТАНОВИЛИ. Спасибо, Джим Париж! ЗДЕСЬ – стенограмма того, что я сделал. Я уже перезагрузился, и система работает так же хорошо!

 sudo fdisk /dev/sdb Command (m for help): p Disk /dev/sdb: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders, total 976773168 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: 0x000cd649 Device Boot Start End Blocks Id System Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-976773167, default 2048): Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-976773167, default 976773167): +1M Command (m for help): p Disk /dev/sdb: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders, total 976773168 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: 0x000cd649 Device Boot Start End Blocks Id System /dev/sdb1 2048 4095 1024 83 Linux Command (m for help): n Partition type: p primary (1 primary, 0 extended, 3 free) e extended Select (default p): p Partition number (1-4, default 2): 3 First sector (4096-976773167, default 4096): Using default value 4096 Last sector, +sectors or +size{K,M,G} (4096-976773167, default 976773167): +95461M Command (m for help): t Partition number (1-4): 3 Hex code (type L to list codes): 83 Command (m for help): n Partition type: p primary (2 primary, 0 extended, 2 free) e extended Select (default p): e Partition number (1-4, default 2): Using default value 2 First sector (195508224-976773167, default 195508224): Using default value 195508224 Last sector, +sectors or +size{K,M,G} (195508224-976773167, default 976773167): Using default value 976773167 Command (m for help): n Partition type: p primary (2 primary, 1 extended, 1 free) l logical (numbered from 5) Select (default p): l Adding logical partition 5 First sector (195510272-976773167, default 195510272): Using default value 195510272 Last sector, +sectors or +size{K,M,G} (195510272-976773167, default 976773167): +371932M Command (m for help): t Partition number (1-5): 5 Hex code (type L to list codes): 83 Command (m for help): n Partition type: p primary (2 primary, 1 extended, 1 free) l logical (numbered from 5) Select (default p): l Adding logical partition 6 First sector (957229056-976773167, default 957229056): Using default value 957229056 Last sector, +sectors or +size{K,M,G} (957229056-976773167, default 976773167): +9542M Command (m for help): t Partition number (1-6): 6 Hex code (type L to list codes): L 0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris 1 FAT12 27 Hidden NTFS Win 82 Linux swap / So c1 DRDOS/sec (FAT- 2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT- 3 XENIX usr 3c PartitionMagic 84 OS/2 hidden C: c6 DRDOS/sec (FAT- 4 FAT16 <32M 40 Venix 80286 85 Linux extended c7 Syrinx 5 Extended 41 PPC PReP Boot 86 NTFS volume set da Non-FS data 6 FAT16 42 SFS 87 NTFS volume set db CP/M / CTOS / . 7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux plaintext de Dell Utility 8 AIX 4e QNX4.x 2nd part 8e Linux LVM df BootIt 9 AIX bootable 4f QNX4.x 3rd part 93 Amoeba e1 DOS access a OS/2 Boot Manag 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad hi eb BeOS fs e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD ee GPT f W95 Ext'd (LBA) 54 OnTrackDM6 a6 OpenBSD ef EFI (FAT-12/16/ 10 OPUS 55 EZ-Drive a7 NeXTSTEP f0 Linux/PA-RISC b 11 Hidden FAT12 56 Golden Bow a8 Darwin UFS f1 SpeedStor 12 Compaq diagnost 5c Priam Edisk a9 NetBSD f4 SpeedStor 14 Hidden FAT16 <3 61 SpeedStor ab Darwin boot f2 DOS secondary 16 Hidden FAT16 63 GNU HURD or Sys af HFS / HFS+ fb VMware VMFS 17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE 18 AST SmartSleep 65 Novell Netware b8 BSDI swap fd Linux raid auto 1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid fe LANstep 1c Hidden W95 FAT3 75 PC/IX be Solaris boot ff BBT 1e Hidden W95 FAT1 80 Old Minix Hex code (type L to list codes): 82 Changed system type of partition 6 to 82 (Linux swap / Solaris) Command (m for help): a Partition number (1-6): 1 Command (m for help): p Disk /dev/sdb: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders, total 976773168 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: 0x000cd649 Device Boot Start End Blocks Id System /dev/sdb1 * 2048 4095 1024 83 Linux /dev/sdb2 195508224 976773167 390632472 5 Extended /dev/sdb3 4096 195508223 97752064 83 Linux /dev/sdb5 195510272 957227007 380858368 83 Linux /dev/sdb6 957229056 976771071 9771008 82 Linux swap / Solaris Partition table entries are not in disk order Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy. The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8) Syncing disks. 

fdisk только делает разделы; это зависит от других вещей, таких как ваша командная строка ядра и содержимого /etc/fstab чтобы решить, как их использовать. Когда вы сказали установщику, что, например, /dev/sdb5 должен был использоваться как /home , он сделал кучу вещей, чтобы это произошло (установите таблицу разделов, отформатируйте раздел, настройте fstab и т. Д.).

Чтобы ответить на ваш конкретный вопрос:

  • Похоже, sdb1 – это ваш загрузочный раздел, используемый для хранения ядра в месте, где grub может использовать вызовы BIOS для его извлечения. Возможно, ext2 , но вы можете использовать file -s /dev/sdb1 чтобы попытаться определить формат.

  • sdb2 выглядит как расширенный раздел. Обычные таблицы разделов типа MS-DOS могут содержать только 4 первичных раздела с номерами от 1 до 4. Если вы создаете один из них с типом 0x05, вы можете создавать дополнительные логические разделы с более высокими номерами.

  • sdb3 выглядит как ваш корневой раздел.

Немного странно, что ваши sdb3 и sdb2 вышли из строя, но это возможно. Я думаю, вам нужно сделать что-то подобное в fdisk:

  • новая таблица разделов
  • новый первичный раздел 1, начало 2048, размер +2047
  • изменить идентификатор раздела 1 на 0x83 (Linux)
  • новый расширенный раздел 2, начало 195504128, размер (максимум)
  • новый первичный раздел 3, начало 4096, размер +195504127
  • изменить идентификатор раздела 3 на 0x83 (Linux)
  • новый логический раздел 5, начало 195510272, размер +761716735
  • изменить идентификатор раздела 5 на 0x83 (Linux)
  • новый логический раздел 6, начало 957229056, размер +19542015
  • изменить идентификатор раздела 6 на 0x82 (Linux Swap)

Хотя я havent использовал его еще проверить testdisk – http://www.cgsecurity.org/wiki/TestDisk

Я использовал photorec, который является частью тех же инструментов для восстановления файлов.