파티션 테이블 순서를 수정하는 방법?


2

완전히 새로운 리눅스 배포본 (Mageia)을 설치할 예정이었고, 파티션을 재구성 할 기회로 보았습니다. 모든 비 -Linux (Windows, 복원 등) 파티션을 처음부터 원했고, Linux를 끝까지 사용하고 싶었습니다. 그래서 더 많은 배포판을 테스트하고 싶다면 새로운 Linux 파티션을 만들 수 있습니다.

GParted를 사용하여 기존 Linux 파티션을 삭제하고 (나머지는 보존하고 싶은 데이터를 백업했습니다) 나머지 파티션을 앞쪽으로 옮겼습니다. 나중에 Mageia 설치 프로그램에서 Linux 파티션을 만들었습니다.

약간의 시간이 걸렸지 만 GParted는 문제없이 끝났습니다. Mageia도 장애없이 설치되었습니다.

Mageia로 부팅 할 때 ATI Radeon 비디오 카드 (아직 해결되지 않음)에 문제가있어 (관련이 없습니까?) 콘솔을 사용하고 재부팅 할 때 보았습니다. Error: Can't have overlapping partitions 에 의해 지퍼.

문제 없습니다, 제 생각에는 GParted를 다시 부팅하고 고칠 것입니다. 아아, GParted는 전체 디스크를 할당되지 않은 것으로 표시합니다. OK, 다시 리눅스로. 커맨드 라인에서 헤어져서 나에게 도움이된다.

[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/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 이 문제를 해결할 수 있습니다.

  1. 어떻게 사용합니까? testdisk? 인터페이스가 꽤 혼란 스럽습니다.
  2. 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 .

어떻게해야합니까?


질문을 이전하는 것이 가능합니다. 어떻게해야합니까?
Koohoolinn

사회자의 관심을 끌기 위해 신고하거나 마이 그 레이션을 요청하거나 "투표 종료"채팅 채널에 게시 할 수 있습니다. 마이 그 레이션을하려면 평판이 좋은 사용자로부터 5 회의 마이 그 레이션 투표가 필요합니다.

답변:


2

겹치는 파티션 문제는 부분적으로 PC 파티셔닝의 기이함 때문에 발생합니다.

파티션 테이블에는 정확히 4 개의 "주 파티션"항목을위한 공간이 있습니다. 4 개 이상의 파티션이 필요하면 "확장 된"파티션이라고하는 메커니즘이 있습니다. 실제로는 큰 파티션 (예 : 파티션 # 2)을 생성하며,이 파티션은 자체 하위 파티션 테이블을 가지며 추가 항목을 허용합니다 "논리적"파티션.

당신은 208845 섹터에서 1953520064 섹터까지의 확장 파티션을 만들지 만 "확장"파티션을 위해 예약 된 디스크 공간과 겹치는 추가 기본 파티션 3과 4도 생성합니다.

문제를 해결하는 가장 쉬운 방법은 다음과 같습니다.

  • 리눅스 fdisk를 사용하여 파티션 3과 4를 삭제하십시오
  • 이전과 동일한 섹터 시작 / 끝 값을 사용하여 확장 파티션 내에서 논리적 파티션으로 다시 작성하십시오 (fdisk를 사용하여 다시).

논리 파티션 순서가 디스크의 "실제"위치를 반영하도록하려면, fdisk 도움이 될 수 있습니다. "x"를 눌러 확장 기능을 활성화하고 에프 ix 파티션 순서 기능. 너는 너를 조정해야 할 수도있어. fstab 그 이후에 리눅스 시스템 용으로 - Windows는 GUID 기반 파티션 식별을 가지고 있으므로 순서에 신경 쓰지 않아야합니다.


1

경고 : fdisk에서 고급 수정 옵션을 시도하고 시스템을 재부팅했습니다. 내 / dev / sda8이 내 경우에 / dev / sda5가되었고 결과적으로 / boot / grub가 변경되지 않는다는 점에서 이것은 비참한 결과를 초래했습니다.

그래서 맹 글링을 피하기 위해이 문제에 대한 명백한 수정은 다음과 같습니다.

$ fdisk /dev/sda
x
f
w
$ update-grub
$ grub-install

먼저 grub 명령을 설치했는지 확인하십시오 (위의 명령은 일부 시스템에서는 사용되지 않는 것으로 보입니다).


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.

끝난!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.