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 セレクターの重みの理解(個人テスト)

推薦する

CentOS 8 カスタム ディレクトリ インストール nginx (チュートリアルの詳細)

1. ツールとライブラリをインストールする# PCRE は、Perl 互換の正規表現ライブラリを含...

TomcatコンポーネントはWebサーバーのアーキテクチャの進化を示しています

1. tomcat とは誰ですか? 2. Tomcat は何ができますか? Tomcat は Web...

負荷分散の基礎知識とnginxを使用した負荷分散の簡単な例

Nginx は、一般的に 7 層の負荷分散に使用できます。この記事では、負荷分散に関する基本的な知識...

nginx-naxsi ホワイトリストルールの詳細な説明

ホワイトリストルールの構文:基本ルール wl:ID [否定] [mz:[$URL:target_ur...

Swiper.jsプラグインを使用すると、カルーセル画像を非常に簡単に実装できます。

Swiper は、携帯電話やタブレットなどのモバイル端末向けに設計された、純粋な JavaScri...

8桁の割引コードをランダムに生成し、MySQLデータベースに保存します。

現在、多くの企業が割引コードを通じてプロモーションを行っています。今では、8桁の割引コードを実装して...

HTML+CSSで充電水滴融合特殊効果コードを実現

目次序文:成し遂げる:要約:まず効果を見てみましょう: 序文:このアイデアは、Bilibili のア...

MySQL の group by に関する簡単な説明

目次1. はじめに2. ユーザーテーブルを準備する2.1 グループ化ルール2.2 グループの使用2....

Windows で MySQL サービスを停止または削除できない問題の解決策

圧縮パッケージを解凍して Windows に MySQL をインストールしました。インストール方法は...

Vue.jsはアイコンをクリックしてズームインし、

前回の記事では、Vue で画像の切り抜きや拡大・縮小、回転を実現する方法を紹介しました。今回は、アイ...

Vue.jsはシンプルな折りたたみパネルを実装します

この記事では、Vue.jsの具体的なコードを共有して、シンプルな折りたたみパネルを実装する例を紹介し...

Ubuntu 18.04 Server に静的 IP を設定する方法

1. 背景Netplan は、Ubuntu システムのネットワーク設定を簡単に管理および構成できるよ...

JavaScript における正規表現の実際的な応用の詳細な説明

実際の業務では、JavaScript の正規表現が依然として頻繁に使用されます。したがって、この部分...

MySQL トリガーの原理と使用例の分析

この記事では、例を使用して、MySQL トリガーの原理と使用方法を説明します。ご参考までに、詳細は以...

JavaScriptの無限ループを検出して防止する方法の詳細な説明

目次序文for文の無限ループを修正while文の無限ループを修正要約する序文Js デッド ループはど...