저는 완전히 새로운 Linux 배포판(Mageia)을 설치하려고 했고 이를 파티션을 재구성할 수 있는 기회로 보았습니다. 더 많은 배포판을 테스트하려는 경우 새 Linux 파티션을 더 쉽게 생성할 수 있도록 처음에는 모든 비 Linux(Windows, 복원 등) 파티션을 사용하고 마지막에는 Linux 파티션을 원했습니다.
GParted를 사용하여 기존 Linux 파티션을 삭제하고(보존하려는 데이터를 백업했습니다) 나머지 파티션을 앞으로 옮겼습니다. 나중에 Mageia 설치 프로그램에서 Linux 파티션을 생성했습니다.
시간이 좀 걸렸지만 결국 GParted는 문제 없이 끝났습니다. Mageia도 문제없이 설치되었습니다.
Mageia로 부팅할 때 ATI Radeon 비디오 카드(여전히 해결되지 않음)에 몇 가지(관련 없는?) 문제가 있어서 콘솔만 남게 되었고 재부팅할 때 빠르게 Error: Can't have overlapping partitions
지나가는 것을 보았습니다.
문제 없습니다. GParted를 다시 부팅하고 문제를 해결하면 된다고 생각했습니다. 아아, GParted는 전체 디스크가 할당되지 않은 것으로 표시됩니다. 좋아, 리눅스로 돌아가자. 명령줄에서 분리를 시작하면 나에게
[root@localhost ~]# parted
GNU Parted 2.3
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Error: Can't have overlapping partitions.
fdisk
나에게 더 많은 정보를 주어야했는데 그렇게되었습니다.
[root@localhost ~]# fdisk -l -u /dev/sda
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 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: 0x2bd2c32a
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 206847 102400 7 HPFS/NTFS
/dev/sda2 208845 1953520064 976655610 5 Extended
/dev/sda3 950740992 1013655551 31457280 7 HPFS/NTFS
/dev/sda4 1013655552 1015754751 1049600 12 Compaq diagnostics
/dev/sda5 208896 409808895 204800000 7 HPFS/NTFS
/dev/sda6 409810944 950740991 270465024 7 HPFS/NTFS
/dev/sda7 1015757883 1034184374 9213246 82 Linux swap / Solaris
/dev/sda8 1034184438 1953520064 459667813+ 83 Linux
파티션 시작으로 정렬하면 /dev/sda5
and 가 /dev/sda6
호출되어야 /dev/sda3
하고 /dev/sda4
그 반대의 경우도 마찬가지입니다.
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 206847 102400 7 HPFS/NTFS
/dev/sda2 208845 1953520064 976655610 5 Extended
/dev/sda5 208896 409808895 204800000 7 HPFS/NTFS
/dev/sda6 409810944 950740991 270465024 7 HPFS/NTFS
/dev/sda3 950740992 1013655551 31457280 7 HPFS/NTFS
/dev/sda4 1013655552 1015754751 1049600 12 Compaq diagnostics
/dev/sda7 1015757883 1034184374 9213246 82 Linux swap / Solaris
/dev/sda8 1034184438 1953520064 459667813+ 83 Linux
인터넷 검색을 통해 이 문제를 해결할 수 있다는 것을 알았습니다 testdisk
.
- 어떻게 사용하나요
testdisk
? 인터페이스가 상당히 혼란스럽습니다. - Linux/Windows에서 실행할 수 있습니까? 아니면 라이브 버전으로 부팅해야 합니까?
미리 감사드립니다.
건강 상태
아래 답변의 지침을 따랐지만 작동하지 않습니다.
다시 생성해야 하는 파티션은 다음과 같습니다.
/dev/sda3 950740992 1013655551 31457280 7 HPFS/NTFS
/dev/sda4 1013655552 1015754751 1049600 12 Compaq diagnostics
일어나는 일은 다음과 같습니다.
[root@localhost ~]# fdisk /dev/sda
Command (m for help): d
Partition number (1-8): 3
Command (m for help): d
Partition number (1-8): 4
Command (m for help): n
Command action
l logical (5 or over)
p primary partition (1-4)
l
First sector (950743040-1953520064, default 950743040): 950740992
Value out of range.
First sector (950743040-1953520064, default 950743040):
첫 번째 파티션은 95074에서 시작해야 합니다.0992하지만 새로운 것은 95074에서만 시작할 수 있습니다3040.
어떻게 진행하나요?
답변1
파티션 순서를 수정하기 위해 찾은 최고의 솔루션은 다음과 같습니다.
Enter into the disk partition place:
fdisk /dev/sda
Command (m for help): m
Command action
...
l list known partition types
m print this menu
p print the partition table
q quit without saving changes
w write table to disk and exit
x extra functionality (experts only)
Command (m for help): x
Expert command (m for help): m
Command action
...
f fix partition order
m print this menu
p print the partition table
q quit without saving changes
r return to main menu
v verify the partition table
w write table to disk and exit
Expert command (m for help): f
Done.
Expert 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.
완료!
답변2
겹치는 파티션 문제는 부분적으로 PC 파티셔닝의 이상한 점 때문에 발생합니다.
파티션 테이블에는 정확히 4개의 "기본 파티션" 항목을 위한 공간이 있습니다. 4개 이상의 파티션이 필요한 경우 "확장" 파티션이라는 메커니즘이 있습니다. 이는 실제로 큰 파티션(귀하의 경우 파티션 #2)을 생성하고, 이 파티션에는 자체 하위 파티션 테이블이 있어 다음과 같은 추가 항목을 허용합니다. "논리적" 파티션.
수행한 작업은 섹터 208845에서 1953520064까지 확장된 파티션을 생성하는 것뿐 아니라 "확장" 파티션용으로 예약된 디스크 공간과 겹치는 추가 기본 파티션 3과 4도 생성하는 것입니다.
문제를 해결하는 가장 쉬운 방법은 다음과 같습니다.
- Linux fdisk를 사용하여 파티션 3과 4를 삭제합니다.
- 이전과 동일한 섹터 시작/끝 값을 사용하여 확장 파티션 내의 논리 파티션으로 다시 fdisk를 사용하여 다시 만듭니다.
논리 파티션 순서가 디스크의 "물리적" 위치를 반영하도록 하려면 fdisk
도움이 될 수도 있습니다. 확장된 기능을 활성화하려면 "x"를 누르고에프 ix 파티션 순서기능. 그 후에 Linux 시스템에 맞게 s를 조정해야 할 수도 있습니다 fstab
. Windows에는 GUID 기반 파티션 식별이 있으므로 순서에 신경 쓰지 않아도 됩니다.
답변3
주의하세요: fdisk에서 고급 수정 옵션을 시도하고 시스템을 재부팅했습니다. 내 경우에는 /dev/sda8이 /dev/sda5가 되었고 결과적으로 /boot/grub이 변경되지 않는다는 점에서 이것은 비참한 영향을 미쳤습니다.
따라서 맹글링을 피하기 위한 이 문제에 대한 확실한 해결책은 다음과 같습니다.
$ fdisk /dev/sda
x
f
w
$ update-grub
$ grub-install
하지만 먼저 위의 grub 명령이 설치되어 있는지 확인하십시오. 일부 시스템에서는 더 이상 사용되지 않는 것 같기 때문입니다.