はじめに
「 /boot ファイルシステムに xxMB 追加すぺーすが必要です。」というエラーメッセージの対処法です。
親記事
おことわり : 本投稿の内容は不十分です
- 本投稿の操作を行った結果、筆者の環境では Alma Linux 9 VM が 起動しませんでした。起動すらしないってことは、/boot パーティションに問題がある可能性が高いです。
- そのため、本投稿は参考程度にお願いします。
VMが正常に起動しない場合があります。というか多分しません。結論、下記リンク ( 筆者別記事 ) に書いたように、/boot パーティション不足の場合、諦めて、イチから OS をインストールし直した方が早いです。
GParted で編集したVHDX が起動しないので色々試した結果 ( 初心者 )
概要
余っているパーティションのサイズ分、/boot パーティションに追加する。
現在のパーティションを確認
対象のVMを停止する前に確認するか、VDHX をバックアップして Live CD に読み込ませたあと (Live CD と GParted については、下記手順参照。)、VM を起動して確認。
- サイズは、AlmaLinux の Disks ツール ( GUI ) で確認してください。スクショがとれるなら、その方が分かりやすいです。
- ファイルシステム (XFS など) は、GUI より、以下の方法が簡単です
su -
# 順に FAT, XFS, LVM2 PV
file -s /dev/sda1
file -s /dev/sda2
file -s /dev/sda3
# 空き容量なので表示されない (ここから sda1の FAT に切り出して分けてあげる)
file -s /dev/sda4
sda1 ( EFI パーティション )
- /boot/efi
- 500 MiB
- FAT
sda2 ( 起動パーティション )
- /boot
- 500 MiB
- XFS
sda3 ( VM の本体データが格納されるパーティション )
- 66 GiB
- LVM2 PV
イメージ
sda2 が/boot パーティションです 。(0.5 GB)
sda4 は余っていたパーティション (2GB).
before
sda4 : 2 GB || sda2 : 0.5 GB
modify
sda4 : 2 GB || → 1 GB 切り出す → || sda2 : 0.5 GB + 1 GB
after
sda4 : 1 GB || sda2 : 1.5 GB
条件、環境など
Live CD ( GParted ) を使って パーティション管理をします。
- ゲストマシン ( Hyper-V ) として、Alma Linux 9 を起動中。→ 停止させて、Live CD を 別の Hyper-V 仮想マシンとして 起動。
予備知識
GParted について
多分 GNOME のパーティション管理ツール (GUI)
やりかた
Alma Linux 9 VM を停止した後、以下の手順を実行
パーティション操作のための準備
(1) 【重要】Alma Linux の VHDX ファイル をバックアップ ( 複製 )
もし、GParted でパーティションテーブルを作成しようとしている段階で、まだ VHDX のバックアップを取っていない場合は、バックアップをとり、その VHDX ( 下のChatGptの説明に合わせると B.vhdx ) を Live CD のSCSI で読み込む必要があります。
手順
1. ( 任意 ) 一応、Live CD をシャットダウン※。( Hyper-V マネージャ の VM 設定 > [シャットダウン] )
- まだ、Live CD をダウンロード&起動していない場合は、次に進む ( .vhdx ファイルをバックアップ) 。
※[停止] メニューではない。電源ボタンを切るのではなく、OS 側からシャットダウンするイメージ。
2.VM の .vhdx ファイル を 複製。( B.vhdx を作成 )
Copy-Item "C:\ProgramData\Microsoft\Windows\Virtual Hard Disks\AlmaLinux9WebTest.vhdx" "C:\Backups\AlmaLinux9WebTest_backup.vhdx"
- まだ、Live CD をダウンロードしていない場合は、 先に Live CD を起動 ( この節の下のほうの手順を参照 ) したあと、次に進む ( B.vhdx を SCSI コントローラに追加 ) 。
3.Live CD の設定 メニュー ( Hyper-V マネージャ ) からバックアップ VHDX を読み込む
- ハードドライブを先に追加 ( SCSI コントローラ > [ハードドライブ] > 追加 )
- Hyper-V マネージャ > SCSI コントローラ
> [ハードドライブ] - AlmaLinux9WebTest.vhdx ( 元の Alma Linux VM ) or まだ追加していない場合、 <ファイル> ( 空 ) > [参照] - B.vhdx ( バックアップファイル ) を SCSI でハードドライブに読み込む。
SCSI コントローラ
> [ハードドライブ] - AlmaLinux9WebTest_backup.vhdx - 生の ( 元の Alma Linux VM の ) VHDX を SCSI からは削除。
[ハードドライブ] > [削除] > [OK]
( なんか 削除後に GUI に取り消し線が走ってびっくりしますが...MicroSoftェ... (何回目))
4.Live CD を起動し直す。( 停止している場合 )
VHDX をバックアップする理由
- パーティション操作を加えるには、まずそのパーティションにたいして、「パーティションテーブル」を作成して 初期化する必要があります。
- 初期化時に、パーティションを含むストレージ ( ディスク ) 、つまり sda1から sda3 の 全パーティション すべてのデータが消去されます。
もし VHDX のバックアップをとっていなかったとしても、GParted でパーティションテーブル作成しようとすると、その前に、
この作業はディスク /dev/sda のすべてのデータを消去します。
のような 確認を出してくれます (なんて優しいんだろう、どこぞの MicroSoft とは雲泥の差) 。
この警告が出たら、[キャンセル]をクリックして、バックアップ先である B.vhdx ファイルを Live CD から参照しましょう。
※筆者はあやうく バックアップせず 生の VHDX を Live CD に読み込ませていたので、全消去するところでした。注意!!!
ChatGPt いわく、以下の流れが一般的なようです。
拡張後に元通り起動させるための流れ(概要)
1.VHDXを事前コピー(バックアップ)
- 元の状態(A)を維持するため、事前にVHDXを複製し、Bとして編集対象に
2.B.vhdxでパーティション拡張を実施
- LiveCDやツールで目的のパーティションのみ拡張
- 他の領域やメタデータは変更しないよう注意
3.修正内容を検証
- 拡張後のB.vhdxを仮想マシンに接続して LiveCD 等で起動確認
- マウント・ファイル整合性・fsck等で問題ないかチェック
4.仮想マシンをB.vhdxで起動
(2) Live CD を Hyper-V の仮想マシンとして起動させる
1.まだ、していない場合は、下記からLive CD の ISO を Download (Windows ホストに)
2.仮想マシンを作成 (Hyper-V)
仮想スイッチ:接続しない
仮想ハードディスク ( VHDX ):選択しない (あとでコントローラから Live CD と Linux VM の バックアップ VHDX を読み込む)
3.ダウンロードした Live CD ( ISO ) を SCSI コントローラの [ DVD ドライブ ] に読み込ませる
4.Alma Linux 9 VM ( VHDX ) を SCSI コントローラの [ ハードドライブ ]に読み込ませる
5.ブート順を Live CD が最上位に来るようにする。
ファームウェア > Live CD 選択 >上へ
6.Secure Boot
セキュアブート有効化設定の [テンプレート] を “Microsoft Windows” から、「Microsoft UEFI 認証機関」に変える
7.起動>接続
GParted の手順
Live CD から起動した仮想マシンに接続できたら、ブートローダー ( GRUB )が OS 起動時に 参照する /boot パーティション 拡張します
- Gparted ( Live CD から起動した VM 内)のメニューを選択
※ Gparted (GUI) が表示できない場合 (筆者別記事):
→ CUI (Terminal) が開ける場合は、gparted
コマンドで、GUI を強制的に開けます。
2.パーティションテーブルを作成
デバイス >パーティションテーブルを作成 >形式: gpt
> [Apply]
パーティションをいじりたい (作成、削除、移動など) 対象のディスクを GParted に認識させないかぎり、「未割当て」のままで何もできません。
この認識させるためには、パーティションテーブルが必要。
3./boot/efi パーティション
パーティションを切り直します。EFI は変わらず。
[パーティション] > [ New ]
-
一番上の<>(やじるし) をぬるぬる動かしてみてください。直感的!クール!
MicroSoft、GParted を見習って!
パーティションが作成されました。気持ちいい !!
4./boot パーティション
ここです。500 MiB から 1500 MiB (多すぎ?) にします。適宜希望の拡張サイズを指定しましょう。下記の設定も忘れず。
- パーティション名: sda2, ファイルシステム : XFS
あとは 本体のパーティション (sda3) にそれぞれのサイズにパーティションを割り当てます。
- パーティション名: sda3, ファイルシステム : lvm2 pv
最終的に:
参考:
GParted マニュアル
- パーティションのサイズと場所の指定
- パーティション名の指定
- パーティションファイルシステムの指定
本体のパーティション
sda3 (LVM2 PV) に 3つのパーティションを作成します。( もともとあるやつだけ適宜作成してください。)
- / (ルート)
- /home
- /Swap
というか、私も初心者なので、元のパーティションを引き継げないのか?と、ここになって疑問が。(そこはご愛嬌という事で。) この記事では触れませんが。
元のサイズ
パーティション | GiB |
---|---|
/ | 20 |
/home | 35 |
/Swap | 8 |
以下のスクショのように、AlmaLinuxで [アクティビティ] > [Disks] と検索して GUI ツールを開くと、左の列に パーティションが出ています。
やり方
-
GParted で sda3 右クリック> リサイズ/移動
-
さきほどと同じ要領で縮小し、さいごに [リサイズ/移動] クリック ※
-
/, /Swap, /home にパーティションをわりあてるまで同じことをつづけます。
- 2つ目の個別パーティション以降 ( /Swap, /home ) は、/dev/sdaN ( 未割り当て ) を選択し > [パーティション] > [New] > 割り当て
-
さいごに、GParted の [編集] メニュー > 「保留中のすべての操作を適用する」>Apply
※ リサイズすると、元の sda3 のうちリサイズされて残った領域が、あらたに sda4として未割り当てになります。全体が未割り当てな状態から パーティションテーブル作成後の操作で sda1〜sda3 にパーティション (efi, boot, OS本体) をきったのに、再度、ディスク末尾に残った空き領域は未割り当てとして追加されるみたいですね。
つまり sda3 の一部が未割り当てになるのではなく、/ (root) に続く /swap と /home パーティションとして割り当てる先のデバイスは、sda4, sda5 ( root パーティション作成直後は未割り当て ) となります。
ファイルシステム
-
linux-swap:swap パーティションに割り当てました。これ何って人はググってみてください。僕も知りませんでした。
-
xfs:これは/, /home パーティションに割り当てました ( /boot と同じファイルシステム )
下記、ファイルシステム確認方法
- アクティブティ>Disksから、左の列のパーティションそれぞれ選ぶ。
- swap については, 記載がありませんが linux-swap を選びました。
- swap領域って何って人はググってみてください。動的メモリのことらしい。
ラベル
/:(なし)
/home:home
/swap:swap
Live CD はシャットダウン
パーティションを変更したので、シャットダウンします。
1.LiveCD は SCSI から 削除。( VM設定 >SCSI コントローラー > [削除] )
- 注: IDE に認識させている場合は起動中には削除できない。
2.さいごに Live CD を シャットダウンします。
VM を起動
- パーティションを変えた方の .vhdx で起動します。
- SCSI>ハードドライブ>参照
で新しくパーティション構成し直した VHDX に差し替える。
- SCSI>ハードドライブ>参照
2.Alma Linux VM を起動
3.起動したら、Disks でパーティションサイズが増えているか、確認を。
4.新しいパーティションサイズが確認できたら、GParted での /boot パーティション拡張 が完了です。お疲れ様でした。
上記投稿の内容は不十分です
以上の操作を行った結果、筆者の環境ではAlma Linux 9 VM が 起動しませんでした。パーティションの構成が何か間違ってないか、確認してください。起動すらしないってことは、/boot パーティションに問題がある可能性が高いです。
VMが正常に起動しない場合があります。というか多分しません。結論、下記リンク ( 筆者別記事 ) に書いたように、/boot パーティション不足の場合、諦めて、イチから OS をインストールし直した方が早いです。