UEFIモードで起動するシステムにWindowsとLinuxをインストールするつもりです。
Linuxの場合、私は次のことを行うつもりです。
lTSカーネルとメインラインがもたらす現在のバージョンをインストールします
systemd-bootを使用する
そのため、最終的に、Windowsのインストール中に作成されるEFIパーティションのデフォルトサイズ(100 MB)はかなり混雑します(約94 MBが使用されます)。したがって、私は上記のパーティションを拡大したいと思います。 ディスクレイアウトの標準的な推奨事項では、そのMSRパーティションはEFIパーティションの直後に配置されます のように、MSRパーティションを削除しました。その後、Win 10は起動せず、Win 10USBドライブのブート修復プログラムでブートの問題を修復できました。
しかし、コアの問題は、diskpart
またはGParted(Xubuntu 16.04.1 USBドライブ上)のいずれかを使用してEFIパーティションを拡大できないことです。実行するとextend size=100
diskpartでは、次のように表示されます。
OEMESPまたはリカバリパーティションを縮小することはできません。選択したボリューム[その他].。
GPartedはエラーをスローします
gnu partedは、このパーティションのサイズをこのサイズに変更できません。私たちはそれに取り組んでいます
EFIパーティションを拡大するために必要な手順またはその「単純な」シーケンスを知っている人はいますか?
うまくいく可能性のある問題を回避する2つの方法を考えることができます。しかし、どちらのアプローチも完璧でも、それほど簡単でもありません。
この方法はかなり基本的です:
sgdisk -i 1 /dev/sda
をroot
と入力して、GUIDのESPを見つけます(この例では、ESPは最初のディスクの最初のパーティションです-/dev/sda1
。別のパーティションの場合は、-i 1
を適切に変更する必要があります。/dev/sda
以外のディスクの場合は、その部分も変更する必要があります。)このコマンドは、Partition unique GUID
として識別される1行を含む、さまざまな情報を表示します。その値を保存します(GUID値の記録と再作成はコンピューターの組み込みブートマネージャーの利益のために行われます。efibootmgr
を使用してブートマネージャーエントリを再作成する場合は、この手順と以下の手順6を省略できます。)gdisk
またはsgdisk
を使用して、新しいESPのGUIDを変更します。たとえば、sgdisk -u 1:2C17D5ED-850D-4F76-BA31-47A561740082 /dev/sda
(root
として)が変更されますGUID of /dev/sda1
から2C17D5ED-850D-4F76-BA31-47A561740082。/etc/fstab
を編集して、ESP(FATファイルシステムの場合は実際にはディスクシリアル番号)の新しい「UUID」を記録します。blkid
を使用して新しいシリアル番号を見つけます。gdisk
やsgdisk
などの一部のパーティションツールでは、使用中のディスクへの変更をOSが認識する前に再起動が必要になる場合があることに注意してください。したがって、ターゲットディスクにパーティションがマウントされていない状態で、緊急ディスクブートを使用する必要があります。または、パーティションの削除および作成操作にGPartedなどのツールを使用します。 (パーティションのGUIDを変更しても、再起動が必要な変更は行われません。)
この手順では、特にバックアップファイルに不注意がある場合、壊滅的な障害が発生するリスクがあります。また、問題が発生した場合、コンピュータは一時的に起動できなくなります。 USBフラッシュドライブに私の rEFIndブートマネージャー のコピーがあると、このような緊急時に役立ちます。
diskpart
でこれを試したことがないので、何がその警告をトリガーしているのかわかりません。しかし、それはmightパーティション属性です(libpartedが「フラグ」と呼ぶ2つのもののうちの1つ)。 「システムパーティション」のようなものは、おそらくパーティションツールがパーティションに触れることを拒否する原因となる可能性があります。 parted
またはGPartedを使用して、これらのフラグを探すことができます。ただし、フラグが表示されるかどうかはわかりませんall。パーティションに「boot」(および新しいバージョンのlibpartedでは「esp」)以外のフラグがある場合は、余分なものを削除することを検討してください。または、gdisk
を使用すると、次の属性が表示されますall
gdisk /dev/sda
(またはディスクのIDが何であれ)をroot
と入力します。p
と入力して、パーティションテーブルを表示します。i
と入力して、パーティションの詳細を表示します。パーティション番号を指定するように求められます。パーティションに関する詳細を含む数行が表示されます。Attribute flags
行を探します。フラグが存在しない場合、この行には0000000000000000
の値が表示されます。その場合は、gdisk
と入力してq
を終了できます。ただし、属性が表示されていて、それらを削除したい場合は、先に進んでください。x
と入力して、エキスパートメニューに入ります。a
と入力して、属性を変更します。パーティション番号の入力を求められます。それを入力してください。w
と入力して終了し、変更を保存します。 (混乱したと思われる場合は、q
と入力して、変更を保存せずに終了します。gdisk
は、w
を使用してディスクに書き込むように指示するまで、変更をメモリに保持します。 、したがって、ほとんどのアクションを簡単に中止できます。)問題がパーティション属性ではない可能性があり、私の経験では、GPartedがFATファイルシステムのサイズを変更すると破損することが多いため、このアプローチは最初のアプローチよりも機能する可能性が低くなります。その最後の点を過小評価してはなりません。 GPartedが混乱した場合、バックアップからすべてを復元する必要があり、この手順は両方の方法の最悪の側面になります。 OTOH、GPartedがESPのサイズ変更に成功した場合、この方法は前の方法よりも少し簡単でリスクが少ない可能性があります。
もちろん、Windowsをまだインストールしていない場合は、もっと簡単な方法でやりたいことができます。ESP手動でbefore Windowsをインストールする前に]を作成します。次に、ESPを好きなだけ大きくします。
別のアプローチは、systemd-boot以外のものを使用することです。そのブートマネージャーは、それが格納されているパーティション以外からカーネルまたはブートローダーを起動できないため、非常に制限されています。 (少なくとも、前回見たときはこのように制限されていました。質問の性質上、まだ制限されていると思われます。最近はレビューしていません。)どちらでもないGRUBもrEFIndもこの制限に悩まされているため、セットアップが簡単です。少なくとも、systemd-bootが必要とするようなパーティション操作は必要ありません。