いつもお世話になっているツールと言えば、筆頭に挙げなければならないのはこれでしょうか。ディスク管理アプリで超便利な Gpartedです。オールド PC でマルチブートを使うには、絶対必要なものです。タイトルは Debian になっていますが、実は OS は選り好みしません。何でも来いです。そんな訳で今回は Gparted の応用編を簡単なメモにしてみました。
こんな解説がありました。
「GPartedは、ディスクパーティションをグラフィカルに管理するための、無料のパーティションエディタです。GPartedを使用すると、データを失うことなくパーティションのサイズ変更、コピー、および移動を行うことができます」
今回、 HDD のフォーマットに、新規作成の gpt フォーマットを使用しています。つい先日も同じようなことをやっていまして、極楽はぜの HDD は gpt だらけになってしまいました。
今回も余計な事をやっていますので、こんな暑い中でのややっこしい作業になるかもしれません。なお、今回の作業は MX Linux のインストール用 USB でやっていますが、ほとんどの Live USB が使用できます。ただ、インストール専用 USB は利用できません。
MXLinux は、インストール用USB としてだけでなく、起動不能となった Win10 を復旧することも出来ています。
それでは準備が整いましたので、ソロソロと始めていくことにします。が、今回のタイトルの本題は、4項と5項になっていますので、前フリ部分は読み飛ばしてください。暑さのせいでダラダラと長くなってしまいました。
1. gpt パーテーション作成
2. BIOS ブートパーティション作成
3. 新規パーテーション作成
4. USB へ Debian をバックアップ
5. USB から Debian を再インストール
6. おまけ
こんなことをする本当の目的は、実は、バックアップではなく、他 PC へのカスタマイズされた OS の、インストール用 USB の作成にあります。例のスナップショットの代用品です。コピペ、ブートローダーのインストール、たったこれだけの作業で Debian を新規インストールすることが出来るようになります。
実は、Debian のスナップショット作成には色々と苦労していまして、こんなこともやっていました。残念ながら、カスタマイズは簡単にはさせてもらえていません。
1. gpt パーテーション作成
Gparted の使用法をもう一度おさらいするために、全データを削除した HDD を準備しました。何せ三千円で購入したジャンク PC なので、真っさらにフォーマットし直すことに、全然抵抗感がありません。
Eee PC 1001PXD ASUS
・2011年 1月 発売
・CPU:Atom N455/1.66GHz/1コア
・メモリ容量:2GB
・画面サイズ:10.1型
a. デバイスの情報表示
念の為、HDD デバイス情報を確認しておきます。パーテーション分割のため全体の大きさの確認が必要です。
b. パーティションテーブルの作成
ここでパーティションテーブルを作成し直します。BIOS マシンでは、従来は「msdos」を選択するのですが、「gpt」を選択しています。この「gpt」のメリットは、基本パーテーションを多数作成することが出来ることです。「msdos」では4個までの限定です。
ツールバーのデバイスから「パーティションテーブルの作成」を起動します。警告文が出ます。パーテーションがきれいに消失して、全データがパーになります。
2. BIOS ブートパーティション作成
実は、gpt パーテーションには GRUB ブートローダーのインストールが出来ません。変則的な使用方法となるためなのか、ここで少しひと工夫、「BIOS-ブートパーティション」の作成が必要となります。
これに関しては、Ubuntu のヘルプに詳しい説明がありました。
BIOSブートパーティションは OS を GPT ディスクにインストールし、ファームウェアがレガシーモードでセットアップされている場合に必要です。これを GPT ディスクの先頭位置に配置し、追加で「bios_grub」フラグを設定する必要があります。
a. BIOS-ブートパーティションの作成方法
親切に、作成方法も書かれていました。
BIOS-ブートパーティションの作成方法
・位置 : GPTディスクの先頭
・マウントポイント : なし
・タイプ : ファイルシステムなし
・サイズ : 1MB
・フラグ : bios_grub
早速、ヘルプを手がかりにツール Gparted を使用して「BIOS ブートパーティション」なるものを作成してみました。
b. 1MB 新規パーテーション作成
最初に BIOS ブートパーティション用の1MB のパーテーションをディスクの先頭へ新規作成します。
c. フォーマット
作成した新規パーテーションをフォーマットします。ファイルシステムは cleared、種類は基本パーテーションを選択します。
・ファイルシステム : cleared
・種類 : 基本パーテーション
新規作成しますと、無事、ファイルシステムは「不明」となり、これでマニュアル通り、マウントポイント無し、ファイルシステム無しになりました。オレンジの三角マークは、GRUB をインストールすれば解消されます。
d. フラグ追加
マニュアルの指示通りに、新規作成したパーテーションのフラグに「bios_grub」を設定します。
e. 完成
ディスクの先頭に、サイズ 1MB の BIOS ブートパーティションが作成されました。フラグも追加されています。これで GRUB ブートローダーをインストール出来るように準備が整いました。
3. 新規パーテーション作成
それでは、新規作成された gpt ディスクを使いやすいように分割していきます。分割数が4個までなら、こんな面倒なことをしなくても、従来の方法で間に合います。OS 用3個、swap 用1個です。しかし、欲張りな極楽はぜはもっと OS 用にパーテーションが欲しいのです。
a. 新規パーテーション作成
今回は 40GiB のパーテーションを新規作成していきます。
新規パーテーション 6個、swap 1個を作成することにしました。
b. gpt パーテーション完成
ようやく完成しました。OS 用に 40GB を5個、データ用に 30GB、残りを swap 用に作成しました。海外のブログ等を見ると10個以上作成し、インストールを楽しんでいる方を時々見かけますが、後の管理が大変ですね。多分、入れっぱなしなのでしょう。
OS 用のパーテーションは3個で十分という環境の方は、こんな面倒なことはぜず、従来の BIOS のままのほうが省力・省エネです。せっかく読んでいただいたのに、今までのことは忘れてください。いつもダラダラと長くてすみませんでした。
本題とは無関係な話題を長々と書いてきましたが、これからが今回の急所です。
4. USB へ Debian をバックアップ
まず最初の応用編は、USB メモリへのバックアップです。現在は、一番目のパーティションに新規インストールした、もうすぐリリース予定のの Debian 11 が入っています。これを USB へバックアップします。
最初に一番大事なことを書いておきます。コピー先の USB は、コピー元パーテーションと同じ大きさか、より大きい必要があります。もしコピー元より小さい場合は、コピー元のパーテーションをリサイズして、コピー先より小さくしておきます。終了後はスライダーを戻し、エクスキュートすればすぐ元通りに戻すことが出来ます。
a. コピー
パーティションをコピーするには、最初にパーティションをアンマウントします。次に右クリック、またはパーティション→コピーで選択します。
b. 貼付け
パーティションを貼り付けるには、コピー先を右クリック、またはパーティション→貼り付けを 選択します 。パーテーションサイズはコピー元は 40GiB、コピー先 USB は 14GiB です。そのため、コピー元をリサイズ、縮小しています。
パーテーション sda2 を USB sdc2 へ貼付け中です。数分かかります。
貼り付け終了し、バックアップ用 USB が完成しました。
d. USB の UUID 修正
これはパーテーションも USB も同じ現象なのですが、コピー元とコピー先の UUID が同一のものとなります。このため、同一 PC 内でバックアップした場合、希望のパーテーションがマウント出来ない等の問題が発生し、重大なデータの破損または損失が発生する可能性があります。
これの解決にはこんな方法が提案されています。
① コピー元、コピー先いずれかの UUID の変更
② コピー元を削除または再フォーマット
③ コピー元が別ドライブの場合は取外す
しかし、通常の別 PC へのコピー・ペースでは、特段の問題は発生しないようで、普段使いでは fstab との整合性の問題も出ますので、余計なことはしないほうが得策です。
UUID 変更
5. USB から Debian を再インストール
それでは完成したバックアップ用 USB から、別 PC へインストールしてみます。実際には、元々の Debian11 パーテーションをフォーマットし直し、真っ更にしたものです。
a. コピー
パーティションをコピーするには、最初にパーティションをアンマウントします。次に右クリック、またはパーティション→コピーで選択します。
b. 貼付け
パーティションを貼り付けるには、コピー先を右クリック、またはパーティション→貼り付けを 選択します 。コピー元は USB 14GiB、コピー先は HDD 40GiB です。
USB sdc1 をパーテーション sda2 へ貼付け中です。数分かかります。
sda2 に Debian11 が新規インストールされました。
c. ブートローダーインストール
とうとう、インストールも終盤に差し掛かってきました。普通ならばここから再起動となるわけですが、残念ながら起動することはできません。このバックアップの方法では、ブートローダがインストールされていないのです。
そこでレスキューツールの登場です。と言っても大げさなことではありません。今使用しているライブ USB の起動復旧ツールを利用するだけです。
MX Linux 起動修復
「そんなの入っていないよ」とガッカリなあなたには、これがオススメです。パッケージマネージャーから「Grub-Customizer」をインストールするだけです。
Grub-Customizer
これでようやく GRUB をインストール、起動するまでに漕ぎ着けることができました。ヤレヤレ。
6. おまけ
ところが、環境によっては起動にとても時間がかかることがあります。これは別 PC へコピーしたことによって swap の UUID が適合しなくなったためのようです。
a. lsblk と fstab
そこで現状の UUID を確認してみます。
# lsblk -f
lsblk -f
FStab の設定も確認します。
/etc/fstab
今回は、幸いなことに同一 PC へコピーし、元パーテーションは消去していますので、インストール時に設定された fstab と lsblk の表示結果とは 一致しています。このため起動遅延は発生していません。
b. 対応方法
もし、起動遅延が発生してしまいましたら、こんな対策が効果を発揮します。
① fstab
このエラーには、fstab の swap に正しい UUID を記入します。
/etc/fstab
② resume
/resume に正しい UUID を記入します。
/etc/initramfs-tools/conf.d/resume
③ update
変更設定をアップデートします。これで 90秒も続く待ち時間が解消できます。
# sudo update-initramfs -u
④ RESUME=none
もし、復元機能のハイバネーションを使用しないのであれば、resume に UUID を設定せず下記のように書き換えることも出来ます。極楽はぜはこの方法で UUID の変更に対して省力化しています。
# RESUME=none
RESUME=none
最近の極楽はぜは、こんな方法でバックアップ USB を作成し、ジャンク PC へ Debian を簡単にインストールすることが出来ています。やはり新規インストールに比べれば格段の省力化になっていますが、少しのコツが必要なのが難点です。
しかし、慣れれば何のことなく出来るようになり、鼻歌作業に変わりました。ただ、厳密に言えば、インストールではなくバックアップなので、完全自動化にはもう一歩の状態なのが少し残念です。そんな訳で、別の方法も模索中です。
近所のりんごの木は、子供たちが夏休みで遊んでいるうちに、子供たちに負けないほどスクスク育っています。今日の朝刊に出ていましたが、4月の低温や7月の降雨不足など天候不順もありましたが、果実は平年より大きく育ち、収穫量も平年並みを確保できる見通しだそうです。
最近の極楽はぜは、あれからもう3週間、2回目のワクチン接種に行ってきました。近所のかかりつけ医では、前回は午後2時と2時半の2回接種があったのですが、今回は2時だけの1回接種でした。ワクチンの供給不足がこんなところへ影響しているようでした。さて、腕の腫れは、発熱はどうなるのでしょう。ては、また。
デビアンも取っつきにくいを払拭し