web-dev-qa-db-ja.com

プライマリパーティションを拡張パーティションに移動するにはどうすればよいですか?

私のインストールはFedora18とWindows8で、別のシステム用のスペースが必要です。

私には非常にデリケートなタスクがあります。プライマリ/ bootパーティションを、他のすべてのシステムのパーティション(ホーム、ルート、スワップ)を含む拡張パーティション内に移動する必要があります。レイアウトは次のとおりです。

Dispositivo Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      718847      358400    7  HPFS/NTFS/exFAT
/dev/sda2          718848    84604927    41943040    7  HPFS/NTFS/exFAT
/dev/sda3        84604928    85628927      512000   83  Linux
/dev/sda4        85628928   883879935   399125504    5  Estendida
/dev/sda5        85630976    92938239     3653632   82  Linux swap / Solaris
/dev/sda6        92940288   197797887    52428800   83  Linux
/dev/sda7       197799936   883879935   343040000   83  Linux

画像が優先される場合(ポルトガル語): GParted print screen

スクリーンショットに示されているように、必要に応じて、使用済みスペースよりもはるかに多くの空きスペースがあります。また、250Gを超える空き容量のある外付けドライブもあります。可能であれば、拡張内にブートパーティションを配置したいと思います。 Fedoraはデフォルトで可能な限り多くのプライマリパーティション数を使用します、そして私は別のOSをインストールするためにそれを解放したいと思います。もう1つの非常に必要な解決策は、Windowsのブートパーティションが使用されていないと思うので、Windowsのパーティションを排他的な拡張パーティション内に移動することです(ブートローダーとしてGRUBを使用します)。

4
ranisalt

Linuxは論理パーティションから問題なく起動できます。プライマリパーティションを論理パーティションに、またはその逆に変換できるパーティションプログラムはいくつかありますが、多くの場合(おそらく常に)制限があります。このタスクで私が最もよく知っているプログラムは私自身のものです FixParts。 その使用方法を学ぶためにそのWebページを読むことをお勧めします。

あなたの場合、主な問題は、/dev/sda2/dev/sda3の間に空き領域がないことです。したがって、空き領域を作成するには、これらのパーティションの1つを縮小する必要があります。1つのセクターだけで十分ですが、おそらく1MiB縮小する必要があります。 GPartedはこの仕事をすることができますが、警告があります:Windowsはそのブートパーティションについてかなりうるさいことがあります。 /dev/sda2から起動している場合、GPartedでそのパーティションを縮小すると、起動できなくなる可能性があります。したがって、これはWindowsから行う方がよい場合があります。 /dev/sda3の直前に未割り当て領域があると、FixPartsはそれを拡張パーティション内の論理パーティションに変換するのに問題がないはずです。

1
Rod Smith

ここで検討した2つの可能なアプローチ:/ dev/sda2の縮小または/ dev/sda1のパーティションの削除(データをそのままにしておく)。

これら2つ以外にも選択肢があると思います。私はいくつかのアプローチを指摘しているだけです。

プライマリパーティションを拡張パーティションに移動するのはなぜですか?制限について懸念していると思います。MBRの従来の制限は4パーティションです。/dev/sda3が拡張パーティションに移動された場合、その制限を回避することができます。ただし、Fedoraパーティションをどこに配置する予定ですか?具体的には、「開始」値と「終了」値はどうなるのでしょうか。また、十分なスペースを確保するという問題もあります。

Fdiskレポートから、/ dev/sda4は拡張パーティションであり、/ dev/sda5の開始前の2048である85628928で開始します。したがって、これが示すのは、拡張パーティションの開始時に、拡張パーティション内にある最初の「論理ドライブ」の前に少しスペースがあることです。これで、/ dev/sda3は84604928で始まります。これは、/ dev/sda2が84604927で終わった後、ちょうど1セクターです。したがって、/ dev/sda3の前に、拡張パーティションの開始を挿入するための空き領域がありません。

つまり、基本的に2つの選択肢があります。/dev/sda3パーティションの内容を移動するか、/ dev/sda2を(少なくとも2048だけ)縮小して/ dev/sda2が早く終了するようにします。単に縮小する方が、パーティションを再配置するよりもおそらく安全な作業です。これらはプロセスの本当に危険な部分です。/dev/sda2を縮小できる場合は、拡張パーティションの開始セクターを調整できます。これは、一部のソフトウェアではかなり安全です。 (OpenBSDのfdiskは、私が最新のソフトウェアで見た中で最高です。RanishPartitionManagerも素晴らしかったです。)

写真から、拡張パーティションの後に「未割り当て」スペースがあるように見えます。

実際には...これらすべてを処理するはるかに簡単な方法があるかもしれません。/dev/sda1を使用していますか?それとも、実際には使用していないシステムリカバリパーティションのようなものですか?

/ dev/sda1を実際に使用しない場合は、次のようにすることができます。A)OpenBSD fdiskを使用します(私はこのソフトウェアオプションにかなり精通しています)。B)パーティション0を編集します(2048で始まるパーティションであると想定します)。 、718847で終了し、タイプID 7)です。注:ブロックサイズは異なる方法で報告される可能性がありますか?その場合は、必要に応じて異なる数値で補正します。 C)パーティション0に次の変更を加えます。開始:2048から0に変更終了:718847から0に変更タイプ/ ID:07から00に変更

これで、MBRに空きスペースができました。これで、パーティションを追加して、883879935の後に開始し、ドライブの最後にある44.29GBを使い切ることができます。 NTFSデータは2048でディスク上に残ります。再度起動する必要があると感じた場合は、MBRを編集して、パーティションを2048で開始し、718847で終了し、Type/IDを使用するように変更できます。 07再び。ドライブにパーティション(1つは「拡張」)しか持てないという制限は実際にはありません。一般的な制限は、MBRによって定義されるそのようなパーティションを4つしか持つことができないということです。したがって、一度に使用可能/アクティブにすることができるのはその数だけです。しかし、あなたは自由に前後にひっくり返すことができます。

私は以前にそのようなシェナニガンを成功させました。ただし、一部のソフトウェアは奇妙なことをして、パーティションにないスペースに書き込もうとする場合があることに注意してください。私はハイバネーションのサポートについて特に注意します(これはラップトップですか?)。また、Microsoft System Center Data Protection Manager(バックアップソフトウェア)での私の経験は、定義されたパーティション内のファイルシステムボリュームを使用する以外の方法でデータを保存することを示唆しています。 OpenBSDのfdiskの良い点の1つは、ブートレコードを変更できることです。これは、十分な注意を払って元に戻すことができる変更です。私がMS-DOSをより頻繁に使用していた頃、MicrosoftのFDISKは、パーティション内のデータの最初の512バイト(または2048バイトでしたか?)を親切に破壊していました。このような変更がファイルシステムボリュームに加えられると、本質的にデータが失われ、通常はファイルシステムボリューム全体が使用できなくなります。したがって、一部のタスクを安全に実行できるかどうかは、使用しているソフトウェア(および、実行していることをどれだけよく知っているか、どの程度注意しているか)によって異なります。重要なデータをすべて十分にバックアップしていない場合(できれば別のドライブに)、ドライブのサイズ変更/移動、またはパーティションの削除(ファイルシステムボリュームをそのままにしておく)を試してみることはお勧めしません。 。

実行したいことの1つは、既存の/ dev/sda3パーティションをコピー(移動ではなく)することです。/dev/sda7の後に、コピー(または複数のコピー)を保存するのに十分な空き容量があります。理論的には、これはddを使用して実行できます(skip =などに適切な値を使用)。ただし、パーティション化されていないスペースに書き込む場合は、通常、複数のソフトウェアによってスペースが使用(書き込み)されないように細心の注意を払う必要があります。数字を注意深く追跡していなければ、おそらくそれを失うでしょう。 (この投稿全体のほとんどについて、私はかなり可能性について書いています。重要なデータの場合、適切に推奨される唯一のアプローチは、ドライブ全体のすべての人からのすべての重要なデータを保存する適切なバックアップを実行することです。)

コメントからの質問に対するRodSmithの回答を確認します。Linuxシステムは拡張パーティションから起動できます。

0
TOOGAM