나는 달렸다디스크 드라이브잘못된 HD에 있습니다. 기본적으로 다음을 눌러 파티션 테이블을 지웠습니다.승그런 다음 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 또는 root:/와 같은 경로를 지정해야 했습니다. - fdisk는 이를 허용하지 않는 것 같습니다...
추신> 해결되었습니다. 짐 패리스에게 감사드립니다! 이것은 내가 한 일에 대한 기록이다. 재부팅했더니 시스템이 잘 돌아가네요..!
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.
답변1
fdisk
파티션 나누기를 수행하면 다른 것(예: 커널 명령줄 및 콘텐츠) /etc/fstab
이 사용 방법을 결정하게 됩니다. 예를 /dev/sdb5
들어 로 사용될 것이 무엇인지 설치 프로그램에 알리면 /home
이를 달성하기 위해 많은 작업을 수행합니다(파티션 테이블 설정, 파티션 포맷, 크기 조정 fstab
등).
특정 질문에 답변하려면:
sdb1
이는 부팅 파티션 처럼 보이며grub
BIOS 호출을 사용하여 검색할 수 있는 위치에 커널을 보관하는 데 사용됩니다. 가능ext2
하지만 이를 사용하여file -s /dev/sdb1
형식을 알아낼 수 있습니다.sdb2
확장된 파티션처럼 보입니다. 일반 MS-DOS 유형 파티션 테이블에는 1부터 4까지 번호가 매겨진 4개의 기본 파티션만 있을 수 있습니다. 0x05 유형의 기본 파티션 중 하나를 생성하는 경우 더 높은 숫자로 더 많은 논리 파티션을 생성할 수 있습니다.sdb3
루트 파티션처럼 보입니다.
sdb3과 sdb2가 실패하는 것이 조금 이상하지만 가능합니다. 내 생각엔 fdisk에서 다음과 같은 작업을 수행해야 할 것 같습니다.
- 새로운 파티션 테이블
- 새로운 기본 파티션 1, 시작 2048, 크기 +2047
- 파티션 1의 ID를 0x83(Linux)으로 변경합니다.
- 195504128 크기(최대)에서 시작하는 새로운 확장 파티션 2를 생성합니다.
- 4096에서 시작하고 크기 +195504127인 새로운 기본 파티션 3을 생성합니다.
- 파티션 3의 ID를 0x83(Linux)으로 변경합니다.
- 195510272에서 시작하고 크기 +761716735인 새 논리 파티션 5를 만듭니다.
- 파티션 5의 ID를 0x83(Linux)으로 변경합니다.
- 957229056에서 시작하고 크기 +19542015인 새 논리 파티션 6을 만듭니다.
- 파티션 6의 ID를 0x82로 변경(Linux 스왑)
답변2
아직 사용해본 적은 없지만 testdisk를 살펴보니 -http://www.cgsecurity.org/wiki/TestDisk
저는 파일을 복구하는 데 사용되는 것과 동일한 도구의 일부인 photorec을 사용했습니다.