起動ディスクがあれば、これを利用するのが簡単です。こちら に作成方法があります。インストール用の CD を挿入し rescue mode で立ち上げるという方法もあります。
これで正常に起動させることができたら、ブートローダーを再インストールするなど何らかの対処をして、次回もトラブルが発生しないようにしておきましょう。
レスキューに特化した Linux ディストリビューションの定番として SystemRescue がありますが、日本語対応してません。英語キーボード決め打ちで立ち上がる仕様になってます。端末画面で setkmap と入力して jp106 キーボードを選択して下さい。GRUB の起動オプションに setkmap=jp106 を加える方法もあります。
Tails は GUI の起動画面で日本語を選べるのでお手軽ですが、Tor でネット接続するので、環境によっては接続できないかもしれません。MX Linux の Live DVD にはレスキュー用のソフトが標準搭載されてるので、もっとお手軽です。
大昔(2005年頃まで)には GRUB がフロッピー1枚に収まった起動ディスクが作れたのですが、様々な事情により GRUB が巨大化したので不可能になりました。現代でこれに近いのは Super Grub2 Disk でしょう。
grub-mkrescue コマンドで、いま使ってるシステムに合わせた起動ディスクが作れます。このコマンドは deb 系ディストリビューションの場合、grub-common パッケージに同梱されてます。以下のようにして iso ファイルを作れます。
$ sudo apt install xorriso $ sudo grub-mkrescue -o grub-rescue.iso
GRUB 単体で出来ることといえば、カーネル(vmlinuz)と初期化イメージ(initrd)の場所をコマンドで直接指定するくらいのもので、たとえばファイルシステムチェック(fsck)は実行できません。grub-mkrescue では、GRUB だけでなく、カーネルや初期化イメージを同梱した起動ディスクを作ることもできます。たとえば以下のようにです。
#!/bin/sh
mkdir -p $HOME/temp/boot/grub
cp /boot/vmlinuz-$(uname -r) $HOME/temp/boot/vmlinuz
cp /boot/initrd.img-$(uname -r) $HOME/temp/boot/initrd.img
cat << 'EOF' > $HOME/temp/boot/grub/grub.cfg
menuentry "My Emergency Linux Shell" {
linux /boot/vmlinuz root=/dev/ram0 mini-system=true init=/bin/sh
initrd /boot/initrd.img
}
EOF
grub-mkrescue -o custom-rescue.iso $HOME/temp
Fedora や Red Hat Enterprise Linux などの Red Hat 系ディストリビューションでは、インストール用ディスクに強力なレスキュー機能があります。起動して最初のメニュー画面で「Troubleshooting」を選択し、「Rescue a Red Hat Enterprise Linux system」を選択すると、救出対象のシステムを自動検出し、/mnt/sysroot/ などにマウントしてくれます。
また、起動ディスク作成のコマンド rear (Relax-and-Recover) が用意されています。次のように行います。
ブートローダ GRUB は、Linux のインストール後に単独でインストールすることができます。これは、インストール作業中にブートローダを指定しなかった場合などが当てはまります。
SystemRescue などのレスキューディスクから起動し、壊れた Linux システムを /mnt などにマウントして、以下のようにコマンドを実行します(救出対象が ubuntu で、EFI パーティションが /boot/efi の場合)。
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu sudo grub-mkconfig -o /boot/grub/grub.cfg
ハードディスクにインストールした Linux にはアンインストールという手順はありません。
MBRに入れた GRUB を削除してから、他の OS をインストールしたり Windows の CD からフォーマットするなどして、ハードディスクの内容を上書き or 消去してください。
Windows をインストールする方法については Linux 板ではなくパソコン初心者板などで聞いてください。
セキュアブートの規格がマイクロソフト主導で設計されたので、Linux もマイクロソフトの証明書に依存しています。その証明書が長い間、2011 年版しかありませんでした。その期限は 2026年6月27日に切れました。Redhat や Ubuntu や Debian などは、期限切れ寸前に 2023 年版の証明書つきの Shim (第一段階のブートローダー)をリリースしました。期限切れでも起動自体はできるので文鎮化はしませんが、ディストリやドライバの開発元の対応によっては、セキュリティレベルが下がる可能性があるようです。
dmesg コマンドを実行して表示するか、ログファイルを見てください。
$ sudo dmesg | less $ sudo less /var/log/syslog # deb 系の場合 # less /var/log/messages # rpm 系の場合
dmesg にも記録されないような起動直後のログメッセージは、以下のコマンドで見れます。
$ journalctl -b
systemd じゃないディストリビューションでは、起動直後のログが分かれているので、以下のコマンドを実行して下さい。
$ sudo dmesg -T | less $ sudo less /var/log/boot.log
****An error occurred during the file system check. ****Dropping you to a shell;the system will reboot. ****when you leave the shell. Give root password for maintenance (or type Control-D to continue):
ext2 のようなジャーナリングのないファイルシステムを使っていて、いきなり電源を落とすなど、きちんとしたシャットダウンの手続きを取らなかった場合にこのメッセージが出ます。Windows でいうところの起動時に checkdsk や scandisk が働く状態です。
root のパスワードを入力してログインし、fsck -y
デバイス名
でファイルシステムの修復を行ってください。
普段 OS のランレベル 5 (グラフィカルログイン) でログインしていて、X に問題をおこしてしまうと、いくらログインしても真っ暗なままの状況に陥ることがあります。
そういうときは、ブートローダでランレベルを一時的に 3 (テキストログイン) などに変更すると、急場を凌ぐことができます。
以下の項目も参考にしてください。
GRUB の対応解像度を調べるには、起動時の GRUB メニュー画面で c を押してコマンドラインに入り、videoinfo と入力すると一覧が出てきます。
つぎに GRUB の設定ファイル /etc/default/grub をテキストエディタで開いて、以下の行をコメントアウトして入力します。GFXMODE の解像度は、希望の解像度の後にカンマと auto を付けておくと、ブラックアウトの防止になります。
GRUB_GFXMODE=2560x1440,1280x1024,auto GRUB_GFXPAYLOAD_LINUX=keep
NVIDIA 謹製ドライバの場合は、以下の行も必要かもしれません。
GRUB_CMDLINE_LINUX_DEFAULT="quiet nvidia-drm.modeset=1"
設定ファイルを書き換えただけでは、起動画面は変わりません。設定をシステムに反映させるには、Deb系ディストリの場合は sudo update-grub を、rpm系の場合は sudo grub-mkconfig -o /boot/grub/grub.cfg を実行して下さい。
deb 系ディストリの場合には、コンソール画面フォントの設定ツールが用意されています。以下のコマンドで設定画面になります。
$ sudo dpkg-reconfigure console-setup
rpm 系ディストリの場合は、設定ファイルは /etc/vconsole.conf です。