私は完全に新しい Linux ディストリビューション (Mageia) をインストールするつもりだったので、これをパーティションを再編成する機会だと考えました。Linux 以外のパーティション (Windows、復元など) をすべて先頭に置き、Linux のパーティションを最後に置くことで、さらにいくつかのディストリビューションをテストしたい場合に新しい Linux パーティションを簡単に作成できるようにしたいと考えました。
GParted を使用して既存の Linux パーティションを削除し (保存したいデータはバックアップしておいた)、残りのパーティションを最前面に移動しました。後で Mageia インストーラーで Linux パーティションを作成します。
少し時間がかかりましたが、最終的に GParted は問題なく終了しました。Mageia も問題なくインストールされました。
Mageia を起動すると、ATI Radeon ビデオ カードに何らかの (無関係の?) 問題が発生し (まだ解決されていません)、コンソールだけが残り、再起動すると、画面がすばやくError: Can't have overlapping partitions
切り替わりました。
問題ない、GPartedをもう一度起動して修正すればいい、と思った。残念ながら、GPartedはディスク全体を未割り当てとして表示している。さて、Linuxに戻る。コマンドラインからpartedを起動すると、
[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
グーグルで調べたところ、これを修正できることがわかりました。
- どのように使用すればいいですか
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 システム用に を調整する必要があるかもしれませんfstab
。Windows は GUID ベースのパーティション識別を持っているので、順序を気にする必要はありません。
答え3
注意: fdisk の高度な修正オプションを試し、システムを再起動しました。これにより、私のケースでは /dev/sda8 が /dev/sda5 になり、結果として /boot/grub は変更されないという悲惨な結果になりました。
したがって、この問題のマングリングを回避するための明らかな修正方法は次のとおりです。
$ fdisk /dev/sda
x
f
w
$ update-grub
$ grub-install
ただし、一部のシステムでは非推奨になっているようなので、まずは grub コマンド (上記) がインストールされていることを確認してください。