Linux
 Computer >> コンピューター >  >> システム >> Linux

Ubuntu/Mint/KaliがBusyBox(initramfs)で起動しなくなったときの対処法

本記事では、Ubuntu・Mint・KaliなどのLinuxディストリビューションが起動せず、initramfsの初期化中にBusyBoxのプロンプトへ落ちてしまう問題の解決方法を解説します。この状態になると、ユーザーはinitramfsのコマンドプロンプトしか操作できません。

initramfsとは

initramfsは、RAM上に展開されるtmpfsベースの初期ファイルシステムで、独立したブロックデバイスを使用しません。initrdと同様に、ルートファイルシステム内のinitを呼び出す前にファイルシステムをマウントするためのツールやスクリプトを格納しています。

Ubuntu/Mint/KaliがBusyBox(initramfs)で起動しなくなったときの対処法

破損したExt4スーパーブロックの修復方法

Ubuntuがinitramfsの初期化中にBusyBoxへ落ちてしまう場合、ディスク上のスーパーブロックが破損している可能性があります。

Linuxでは複数のスーパーブロックのコピーが保持されています。この問題から復旧するには、レスキューイメージやLive CDから起動し、ターミナルを開きます。起動後、以下のコマンドを入力してください:

# sudo fdisk -l | grep Linux | grep -Ev 'swap'

コマンドを実行すると、ボリュームの情報が表示されます:

/dev/vda2 4096 83884031 83879936 40G Linux filesystem

ボリューム名を控え、次のコマンドで指定します:

# sudo dumpe2fs /dev/vda2 | grep superblock

このコマンドにより、バックアップスーパーブロックの一覧が表示されます。

Ubuntu/Mint/KaliがBusyBox(initramfs)で起動しなくなったときの対処法

ここでは、破損したスーパーブロックを置き換えるために2番目のバックアップスーパーブロックを使用します(プライマリ以外であればどれでも使用可能です)。バックアップスーパーブロックを使ってディスクをチェックしましょう:

# sudo fsck -b 98304 /dev/vda2 -y

以下のような出力が得られた場合は、対象ボリュームがマウントされているため処理を続行できません:

fsck from util-linux 2.31.1
e2fsck 1.44.1 (24-Mar-2018)
/dev/vda2 is mounted.
e2fsck: Cannot continue, aborting

この場合は、まずボリュームをアンマウントします:

# umount /dev/vda2

スーパーブロックの置き換えに成功すると、次のようなメッセージが表示されます:

fsck from util-linux 2.31.1
e2fsck 1.44.1 (24-Mar-2018)
/dev/vda2 was not cleanly unmounted, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Free blocks count wrong for group #231 (32254, counted=32253).
Fix? yes
Free blocks count wrong for group #352 (32254, counted=32248).
Fix? yes
Free blocks count wrong for group #358 (32254, counted=27774).
Fix? yes
..........
/dev/vda2: ***** FILE SYSTEM WAS MODIFIED *****
/dev/vda2: 85986/905464576 files (0.2% non-contiguous), 3904682/905464576 blocks

チェックが完了したら、ブートメディアを取り外してコンピュータを再起動します。これでシステムは正常に起動するはずです。

fsck起動エラー「Unexpected Inconsistency」への対処

initramfs(BusyBox)問題のもう一つのパターンとして、ターミナルに以下のメッセージが表示されるケースがあります:

/dev/sda1: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY
The root filesystem on /dev/sda1 requires a manual fsck.

Ubuntu/Mint/KaliがBusyBox(initramfs)で起動しなくなったときの対処法

このメッセージが表示されない場合は、ターミナルで (initramfs) exit と入力してみてください。その後にエラーが現れることがあります。

メッセージには、手動でのディスクチェックが必要なボリュームが示されます。initramfsプロンプトで以下のコマンドを実行してください:
# fsck /dev/sda1 -y
ディスクチェックが完了したらコンピュータを再起動し、Linuxが正常に起動することを確認しましょう。

「ALERT! /dev/volume does not exist」エラーへの対処

fstabの問題

Linuxホストの起動時に、以下のようなエラーが表示されることがあります:

ALERT! /dev/sda1 does not exist. Dropping to a shell.

Ubuntu/Mint/KaliがBusyBox(initramfs)で起動しなくなったときの対処法

このエラーは、Linuxをインストールした直後や、fstabに問題がある場合に発生します。特に多いのは、USBドライブからシステムをインストールしたケースです。どのボリュームに対してもエラーが発生する可能性があります。最初のケースと同様に、レスキューメディアやブート可能なLinuxメディアから起動して作業を行います。まず、以下のコマンドでディスクのUUIDを確認します:
# sudo blkid

システムは次のような情報を返します:

/dev/sda2: UUID="36cce3d5-cbdb-46f4-adbf-3f9aaa01d729" TYPE="ext4" PARTUUID="fea4dab1-4e12-4327-85c6-76ade18f64e1"

この例では、システムはsda2から起動すべきところを、実際にはsda1から起動しようとしています。

ボリュームを任意のディレクトリにマウントします。例:

# sudo mount /dev/sda2 /mnt

/mntディレクトリに/dev/sda2がマウントされたら、その中の/etc/fstabファイルを開き、/dev/sda1を含む行を次のように修正します:

UUID=36cce3d5-cbdb-46f4-adbf-3f9aaa01d729 / ext4 errors=remount-rw 0 1

ファイルを保存し、/mntからボリュームをアンマウントして再起動します。問題がボリューム名の誤りによるものだった場合、サーバーは正常に起動するはずです。

また、緊急モードで起動してこの問題を解決することもできます。まずルートディレクトリを読み書き可能モードで再マウントします:
# sudo mount -o remount,rw /
その後、fstabを修正してサーバーを再起動してください。

ハードウェアの問題

一部のマザーボードでは、SATAポートに割り当てられるデバイス番号が起動ごとに変わることがあります。これも前述のエラーの原因となります。この場合の修正には、GRUBブートローダーの編集が必要です。

緊急モードまたはLive CDから起動し、/boot/grub/grub.cfgファイルを編集します。

起動ボリュームを指定している行(例):

Linux /boot/vmlinuz-4.15.0-70-generic root=/dev/sda1 rw quiet elevator=noop fsck.repair=yes

ディスクへのパスをUUIDに置き換えます:

Linux /boot/vmlinuz-4.15.0-70-generic root=UUID=36cce3d5-cbdb-46f4-adbf-3f9aaa01d729 ro quiet elevator=noop fsck.repair=yes

Ubuntu/Mint/KaliがBusyBox(initramfs)で起動しなくなったときの対処法

  1. Kali Linuxのインストール方法を徹底解説!USBメモリ作成から初期設定まで

    多くのLinuxディストリビューションは一般ユーザー向けに設計されていますが、Kali Linuxはその例外です。Debianベースのこのディストリビューションは、ホワイトハットハッキングやシステムテストに必要なツールを求めるセキュリティ専門家や、好奇心旺盛な愛好家にとって理想的な環境を提供します。Kali Linuxには、セキュリティテスト用のプログラムが600以上もプリインストールされています。Aircrack-ngからJohn the Ripperまで、業界最高峰のツールが最初から使える状態で揃っています。この記事では、自分のPCにKali Linuxをインストールする手順を詳しく解説し

  2. Arch LinuxとUbuntu徹底比較:どちらが優れたディストリビューションなのか?

    Arch LinuxとUbuntuは、Linux界における二大ディストリビューションです。どちらも巨大なファンベースを抱え、一方を熱烈に支持し他方を否定するユーザーも少なくありません。さらに両者は、それぞれ多くの派生ディストリビューションを生み出しており、それら自体もLinuxコミュニティにおいて重要な存在となっています。では、どちらが優れているのでしょうか?Ubuntuは揺るぎない王者なのか?ArchこそがLinux上級者のための最高峰なのか?答えは「ある意味イエスであり、そして間違いなくイエスでもある」のです。インストールとセットアップ一見すると、この部門の勝者は明白に思えるかもしれません