Kylin 4.0.2 (Ubuntu) でブート パーティションを拡張するプロセスの紹介

Kylin 4.0.2 (Ubuntu) でブート パーティションを拡張するプロセスの紹介

序文

場合によっては(カーネルモジュールの開発など)、複数のバージョンのカーネルをインストールする必要があります。このとき、ブートパーティションの容量不足の問題が発生する可能性があります。この記事では、Kylin(4.0.2)のブートパーティションを拡張する方法について説明します。

ブート パーティションは通常、ディスクの最初のパーティションに配置されているため、直接拡張することは困難です。そのため、新しいパーティションを使用して元のパーティションを置き換え、ブート パーティションを間接的に拡張します。ブート パーティションの置き換えはリスクを伴うことに注意してください。リスクを評価し、慎重に進めてください。

1. 新しいパーティションを準備する

仮想マシンの場合は、仮想ディスクを直接追加することができます。物理マシンの場合は、既存のディスクから未使用のパーティションをクリーンアップし、ディスクツール(partedなど)でフォーマットすることができます。

ディスクが msdos 形式の場合、新しいパーティションはプライマリである必要があります。ディスクユーティリティの使用方法についてはここでは説明しません。新しいパーティションが /dev/newpart であると仮定し (新しいパーティションは絶対にこの名前で呼ばれることはありません)、mkfs を使用してフォーマットします。

mkfs.ext4 /dev/newpart

2. ブートパーティションをコピーする

まず、新しいパーティションを /mnt などのディレクトリにマウントします。

/dev/newpart /mnt をマウントします

次に、/boot 内のすべてのファイルをマウントされたディレクトリにコピーします。

cp –a /boot/* /mnt

3. fstabファイルを変更する

blkid または lsblk –f コマンドを使用して、新しいパーティションの UUID を表示し、書き留めます。ルート権限で /etc/fstab ファイルを変更し、元のブート パーティションに対応するパーティション UUID を新しいパーティションの UUID に置き換え、ファイルを保存して終了します。再起動する前に、以下を使用できます。

systemctlデーモンリロード
マウント –a
ブロック

次に、設定ファイルが正しく変更され、新しいパーティションが正常にロードできることを確認し、システムを再起動します。再起動の目的は、システムが新しいブート パーティションを認識し、grub を自動的に更新できるようにすることです。

4. grubを更新する

update-grub コマンドを使用して grub を更新し、/boot/grub/grub.cfg を開いて、カーネルとドライバーが新しいパーティションからロードされていることを確認します。下の図の黄色の線は、新しいパーティションの UUID です。図には 1 つのスタートアップ項目の内容のみが記載されています。スタートアップ項目が複数ある場合は、1 つずつ確認できます。

しかし、通常は最初のものが正しければ、次のものも正しいはずです。

理論上は、その後 BIOS または UEFI を新しいパーティションから起動させることができますが、残念ながら、新しいパーティションのブート属性をオンに設定しても、起動時に新しいパーティションから起動できない場合があります (私の操作の問題でもある可能性があります)。この問題を解決するために、置き換えた元のブートパーティションを保持し、

新しい grub 構成ファイルを元のパーティションの grub ディレクトリにコピーします。この方法では、オペレーティング システムは元のブート パーティションから起動しますが、新しい grub 構成ファイルはカーネル ファイルとドライバー ファイルの場所を新しいディスク パーティションに指定するため、元のパーティションの下のカーネル ファイルとドライバー ファイルを削除できます。

問題は解決しました。元のブート パーティションが /dev/oldpart の下にマウントされていると仮定して、元のパーティションを再マウントして grub.cfg ファイルをコピーします。

/dev/oldpart /mnt をマウントします
cp /boot/grub/grub.cfg /mnt/grub/

/mnt/grub/grub.cfg をチェックして、すべてが正しいことを確認します。これで、オペレーティング システムを再起動できます。起動後、grub ブート インターフェイスで対応するスタートアップ項目を入力して、ブート パーティションの置き換えの正確性をさらに確認できます。

起動時にすべてがうまくいけば、システムに入った後、df –h を使用して新しいブート パーティションの使用率を表示できます。さらに、ディスク領域をさらに節約したい場合は、元のブート パーティション内のカーネル ファイルとドライバー ファイルを削除できます。

削除しない場合は、新しいカーネルの追加などの後続の操作では元のブート パーティションが使用されないため、影響はありません。

後で新しいカーネルが追加された場合は、update-grub を実行して新しい /boot/grub/grub.cfg を生成した後、そのファイルを元のブート パーティションの下の grub ディレクトリにコピーすることを忘れないでください。そうしないと、対応するカーネルが grub 起動インターフェイスに表示されなくなります。

まだ元のパーティションから起動しているため、grub ブート インターフェイスには元のブート パーティションの grub.cfg が表示されます。

Kylin 4.0.2 (Ubuntu) のブートパーティションを拡張するプロセスに関するこの記事はこれで終わりです。Kylin Ubuntu のブートパーティションを拡張する方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Ubuntuでスワップパーティションを追加する方法
  • Vmvare 仮想マシンを使用して Ubuntu のルート ディレクトリをパーティション分割する方法の紹介

<<:  携帯電話に GreasyFork js スクリプトをインストールするチュートリアル

>>:  CSS セレクターの重みの理解(個人テスト)

推薦する

div間のギャップの解決策

HTMLのdivブロックを使用していて、ブロックの中央をしっかりと接続できず、解決できない場合1. ...

Mysql トランザクション分離レベルの読み取りコミットの詳細な説明

MySQL トランザクション分離レベルを表示する mysql> '%isolation...

JavaScript は大容量ファイルのアップロード処理を実装します

数十 MB 程度の小さいものから 1G 以上の大きいものまで、ビデオ ファイルなどのファイルのアップ...

HTMLページ間で値を渡す問題の解決策

初めてこのエッセイを使ったとき、私はかなりぎこちなく感じましたhtmlファイルコードをコピーコードは...

Docker で Maven プロジェクトをより速くビルドする

目次I. 概要2. 従来の多段階イメージ構築3. Buildkitを使用してイメージをビルドする4....

MySQL の InnoDB ストレージ ファイルの詳細な説明

物理的に言えば、InnoDB テーブルは、共有テーブルスペース ファイル (ibdata1)、排他テ...

JavaScriptはブラウザがIEかどうかを判定します

フロントエンド開発者としては、IEの落とし穴は避けて通れません。他のブラウザはいいのにIEは壊れてい...

Pycharm2017はpython3.6とmysqlの接続を実現します

この記事では、pycharm2017でpython3.6とmysqlを接続する方法を参考までに紹介し...

Docker+jenkins+python3環境を使用して非常に詳細なチュートリアルを構築する

序文:自動化を記述した後、毎日サーバー上で実行する必要があります。このような問題に遭遇しました。Je...

Nginx 設定ファイルの詳細な説明と最適化の提案ガイド

目次1. 概要2. nginx.conf 1) 設定ファイルの場所2) ワーカープロセス3) イベン...

Linux のバックグラウンドで & と nohup を使用する方法

ターミナルやコンソールで作業しているときは、メールを読むなど、もっと重要な作業があるかもしれないので...

Python の MySQL データベース LIKE 演算子の詳細な説明

LIKE 演算子は、列内の指定されたパターンを検索するため、WHERE 句で使用されます。文法: 列...

MySQL はエンタープライズレベルのログ管理、バックアップ、リカバリの実践的なチュートリアルを実装します

背景事業が発展するにつれ、会社の事業内容や規模は拡大し続け、ウェブサイトには大量のユーザー情報やデー...

Web デザイン TabIndex 要素

TabIndex は、Tab キーを押して、定義された TabIndex 要素を順番に取得し、各要素...

Vue で lodop 印刷コントロールを使用してブラウザ互換の印刷を実現する方法

序文このコントロールを直接印刷すると下部に透かしが入りますが、公式 Web サイトから購入することで...