저는 요즘 다음과 같은 질문들과 씨름하고 있습니다.
- 파티션 테이블이 엉망이 됐다는 신고가 접수됐으나 이는 사실이 아니었다.
- grub-legacy는 실제 부팅 중에 일부 파티션에 문제가 있지만 Linux가 실행 중일 때 셸에서 호출하면 문제가 없습니다.
두 증상이 연관되어 있다고 생각되지만 확실하지 않습니다.
배경 정보:
- Grub-legacy는 수년 동안 아무런 문제 없이 /dev/sda4(hd0,3)의 XFS에서 부팅되어 왔습니다.
- sda1에서 FAT32 파일 시스템의 크기를 조정하기 위해 Gparted를 사용할 때 상황이 지저분해졌습니다(분명히 이 문제를 일으킨 libparted 3.2에 버그가 있었습니다). 갑자기 grub이 더 이상 sda4에 액세스할 수 없습니다.
다음은 손상된(손상되지 않은) 파티션 테이블에 대한 fdisk의 출력입니다.
Welcome to fdisk (util-linux 2.27.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): p
Disk /dev/sda: 74.5 GiB, 80026361856 bytes, 156301488 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
Disklabel type: dos
Disk identifier: 0x85068506
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 8390655 8388608 4G c W95 FAT32 (LBA)
/dev/sda2 * 8390656 29296639 20905984 10G 7 HPFS/NTFS/exFAT
/dev/sda3 29296640 136712191 107415552 51.2G f W95 Ext'd (LBA)
/dev/sda4 136712192 156301487 19589296 9.3G 83 Linux
/dev/sda5 29298688 33492991 4194304 2G 83 Linux
/dev/sda6 33495040 75438079 41943040 20G 83 Linux
/dev/sda7 75440128 83828735 8388608 4G 83 Linux
/dev/sda8 83830784 88025087 4194304 2G 83 Linux
/dev/sda9 88027136 94318591 6291456 3G 82 Linux swap
Partition table entries are not in disk order.
Command (m for help): x
Expert command (m for help): f
Nothing to do. Ordering is correct already.
parted는 다음과 같이 파티션 테이블을 나열합니다.
# parted /dev/sda unit s print free
Model: ATA WDC WD800JB-00JJ (scsi)
Disk /dev/sda: 156301488s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
63s 2047s 1985s Free Space
1 2048s 8390655s 8388608s primary fat32 boot, lba
2 8390656s 29296639s 20905984s primary ntfs
3 29296640s 136712191s 107415552s extended lba
5 29298688s 33492991s 4194304s logical ext2
6 33495040s 75438079s 41943040s logical ext3
7 75440128s 83828735s 8388608s logical ext3
8 83830784s 88025087s 4194304s logical ext3
9 88027136s 94318591s 6291456s logical linux-swap(v1)
94318592s 136712191s 42393600s Free Space
4 136712192s 156301487s 19589296s primary ext2
시작 시 grub 정보:
- sda7 및 sda8에 대해 "오류 5: 유효하지 않거나 손상된 파티션 테이블"이 보고됩니다.
- (지금까지) 단순한 ext2임에도 불구하고 sda4에 대해 "알 수 없는 파일 시스템 유형"이 보고됩니다.
나는 많은 포럼/위키 등을 검색했지만 아직 이 퍼즐을 풀지 못했습니다. 내 파티션 테이블이 1MiB로 정렬되어 있다는 것을 방금 깨달았습니다(따라서 2048 섹터 간격이 있음). 일부 파티션 삭제/재생성/재포맷/검사 등을 수행했지만 성공하지 못했습니다.
저는 슬랙웨어 14.2(실제로는 Salix)와 커널 3.10을 실행하고 있습니다. 모든 Linux 파일 시스템은 ext2 또는 ext3입니다.
이런 증상의 원인이 궁금합니다. 이 문제를 해결하도록 도와주세요.
답변1
Partition table entries are not in disk order.
그렇지 않기 때문 이라고 합니다 . 당신은 sda4
디스크의 끝에 있지만 sda5-9
그 앞에 있습니다.
출력은 parted
다음과 같아야 합니다.
# parted /dev/loop0 unit s print free
Model: Loopback device (loopback)
Disk /dev/loop0: 156301488s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
63s 2047s 1985s Free Space
1 2048s 8390655s 8388608s primary lba
2 8390656s 29296639s 20905984s primary boot
3 29296640s 136712191s 107415552s extended lba
5 29298688s 33492991s 4194304s logical
6 33495040s 75438079s 41943040s logical
7 75440128s 83828735s 8388608s logical
8 83830784s 88025087s 4194304s logical
9 88027136s 94318591s 6291456s logical
94318592s 136712191s 42393600s Free Space
4 136712192s 156301487s 19589296s primary
이것은 단지 메시지의 해석일 뿐이라는 점에 유의하십시오 fdisk
. 마지막 기본 파티션을 논리 파티션으로 변환하면 이 메시지가 사라집니다. 이것이 다른 파티션 문제와 관련이 있는지 확실하지 않습니다.