web-dev-qa-db-ja.com

論理パーティションをプライマリパーティションに変更するにはどうすればよいですか?

現在、私はWindows XPとWindows 7の両方をデュアルブートとしてインストールしています。私のXPインストールを長い間削除したいと思っていました(待っていました)データをバックアップするための外付けHDDを購入する)Windows 7パーティションが不足しているので、Windows 7パーティションの空き容量を増やします。

ドライブにあるパーティションは次のとおりです。

/sda1 - Primary - Windows XP - 150GB
/sda2 - Extended
--/sda5 - Logical - Data - 99GB
--/sda6 - Logical - Windows 7 - 50GB

それらは、HDDで物理的に順序付けられているように表示されます(左から右へ、つまりsda1が最初に来て、次にsda2が来る、など)。

私はすべてのデータをバックアップし、GParted(Ubuntu LiveUSBから)を使用して次のことを試みました。

  • WindowsXPを含むパーティション全体を削除します
  • Windows 7パーティションをプライマリパーティションにして、システムがそこから起動できるようにします
  • 削除されたWindows XPパーティションによって残された150GBの未割り当て領域で、Windows 7パーティション(50GB)を拡張すると、Windows7パーティションは200GBになります

しかし、GPartedを使用してみましたが、その方法がわかりませんでした。 sda6パーティションをプライマリパーティションに変更し、sda1から残されたスペースで(削除後に)拡張できるように配置する方法がよくわかりません。 sda5を論理パーティションとして残しても問題ありません。私が試した限りでは、sda1パーティションを削除した後にできることはextendsda2だけですが、これは私が望んでいることではありません。

ありがとう

編集:私はWindows 7インストールディスクも持っているので、MBRテーブルが変更された場合はそれから修復できます。

6
gonzaw

Linux、Windows、Mac OSおよびFreeBSDにある便利なユーティリティであるfixpartsを使用できます。ダウンロードできます このWebページから 。詳細なドキュメント here もご覧いただけます。

すでにUbuntuライブスティックを持っているので、そこから起動してTry Ubuntu without installingを選択することをお勧めします。 fixpartsがすでにライブになっているのか思い出せません。いずれにせよ、ターミナルを開いて発行します

   man fixparts

返信がうまくいった場合は、それ以外の方法でインストールできます。

   Sudo apt-get install gdisk

(これを指摘してくれた@RodSmithに感謝します)。

ここで、assumeブートスティックは/ dev/sdbですが、固定ディスクは/ dev/sdaです。そうでない場合は、それに応じて以下を変更してください。

HDDを簡単にマウントします。

      Sudo mount /dev/sda5 /mnt

現在のパーティションテーブルを安全な場所に保存します。

   sfdisk -d /dev/sda > /mnt/parts.txt

USBスティック上のファイルは一時的なものです。PCの電源を切るとすぐに失われます。したがって、上記のファイルをスティックとは別のドライブに保存する必要があります。これが、上記のパーティションをマウントすることを提案した理由です。上記のパーティションテーブルを再ロードする必要がある場合、コマンドは次のとおりです。

  sfdisk -f /dev/sda < /mnt/parts.txt

次に、上のパーティションをアンマウントします。

   Sudo umount /mnt

fixpartsを開始します:

   fixparts /dev/sda

そしてpはパーティションテーブルを出力し、hは利用可能なコマンドを出力し、rは論理パーティションをプライマリパーティションに変換し、wは変更をディスクに書き込みます。

上記のチュートリアルでは、プライマリパーティションを論理パーティションに変換できる条件、およびその逆を説明していますが、fixpartsが提示する次のテーブルがさらに明らかになります。

                                                     Can Be   Can Be
  Number  Boot  Start Sector   End Sector   Status   Logical  Primary   Code
     1      *             62      1171799   logical     Y        Y      0x07
     2               1171800      1562399   primary              Y      0x83
     3               1562462      3124799   primary              Y      0x0C
     5               3124862      3980213   primary              Y      0xAF

これは、どのパーティションが論理/プライマリのステータスを変更できるかを非常に明確に示します。

完了したら、変更(w)をディスクに書き込み、USBスティックなしで再起動します。

編集:

/etc/apt/sources.listに次のすべての行が含まれていることを確認してください。

  deb http://us.archive.ubuntu.com/ubuntu/ saucy main restricted
  deb http://us.archive.ubuntu.com/ubuntu/ saucy-updates main restricted
  deb http://us.archive.ubuntu.com/ubuntu/ saucy universe
  deb http://us.archive.ubuntu.com/ubuntu/ saucy-updates universe
  deb http://us.archive.ubuntu.com/ubuntu/ saucy multiverse
  deb http://us.archive.ubuntu.com/ubuntu/ saucy-updates multiverse
  deb http://us.archive.ubuntu.com/ubuntu/ saucy-backports main restricted universe multiverse
  deb http://security.ubuntu.com/ubuntu/ saucy-security main restricted
  deb http://security.ubuntu.com/ubuntu/ saucy-security universe
  deb http://security.ubuntu.com/ubuntu/ saucy-security multiverse
  deb http://archive.canonical.com/ubuntu/ saucy partner
  deb http://extras.ubuntu.com/ubuntu/ saucy main

これはUbuntuSaucy Salamander(13.10)用で、実行しているバージョンに適合させます(正確ですか?)。

4
MariusMatutiae

実際には、論理パーティションからプライマリパーティションに正常に変更すると、Windows 7のインストールが混乱する可能性があります。これにより、パーティション番号が確実に変更され、ブートローダーがそれを見つけられなくなる可能性があります(おそらくwin7はよりスマートになりましたが、XP確かにこれを窒息させるために使用されます)。ローレンスのアドバイスに従い、sda1パーティションを削除してから、追加の空き領域を考慮して拡張パーティションのサイズを変更し、次のステップで現在の空き領域をデータパーティションに追加するか、そのパーティションを移動してからOSパーティションのサイズを変更することをお勧めします。 。

この性質の変更では常にそうであるように、失いたくないデータが外部メディアにバックアップされていることを確認してください。

0
IsoLinearCHiP