ThinkPad X201iにUbuntu 24.04を入れたらフリーズしたのでなんとかした

なにごと?

ThinkPad X201iにUbuntu 24.04をインストールしようとしたらフリーズして操作不能になったのでなんとかしましたという話です。

環境

発生事象

いつものとおり、Ubuntu 24.04のISOをUSBメモリに書き込み、USBメモリから起動する。 なんか嫌な予感のするエラーを吐き出しつつも、インストーラが起動する。

が、インストールを進めていくと、画面が途中で動かなくなる。 キーボードやマウス(トラックポイント)の操作も受け付けない様子。 何回か試したけど発生するタイミングは決まっておらず、「しばらく操作していると固まる」という状態。

対応方法

起動オプションに nomodeset をつけて、Kernel mode settingを無効化する。

インストール時の対応

USBメモリから起動する際のGRUBメニューで Try or Install Ubuntu を選択状態にして e キーを押す。 下記のような表示になるので、vmlinuz の行の末尾に nomodeset を追加する。

setparams 'Try or Install Ubuntu'
        set gfxpayload=keep
        linux        /casper/vmlinuz   --- quiet splash
        initrd        /casper/initrd

こんな感じ。

        linux        /casper/vmlinuz   --- quiet splash nomodeset

あとは画面表示に従い F10 とかで通常起動を行うと、フリーズすることなくインストールできる。

インストール後の恒久対応

インストールが無事に終わっても普通に起動するとフリーズするので、同様の設定を恒久的に入れておく必要がある。Ubuntuリカバリモードで起動し、GRUBの設定ファイルに nomodeset を追加しておけばよい。

下記手順で設定する。

① 電源ボタンを押して起動後、ThinkPadロゴ表示中に ThinkVantage ボタンを押す。これで起動メニューが表示される。

F12 to choose temporary startup device の表示に従い、F12 キーを押す

Ubuntuがインストールされているディスクを選択して Enter キーを押し、その直後から ESC キーを連打

GRUBメニューが表示されるので、Advanced options for Ubuntu を選択

リカバリモード(Ubuntu, with Linux 6.8.0-48-generic (recovery mode) みたいなやつ)を選択

リカバリメニューで root Drop to root shell prompt を選択

root ユーザでシェルに入れるので、下記手順で設定追加

/etc/default/grubGRUB_CMDLINE_LINUXnomodeset を追加

$ vi /etc/default/grub
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hiddenGRUB_CMDLINE_LINUX="nomodeset" 
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`( . /etc/os-release; echo ${NAME:-Ubuntu} ) 2>/dev/null || echo Ubuntu`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX="nomodeset" # これ
...
$ update-grub

リカバリメニューに戻って resume Resume normal boot から通常起動を行う

まとめ

1日ほど使っている限りでは問題なく動作しているので、これで問題なさそう。 リカバリモードでの起動で地味に手間取ったけど、実はログイン前だとフリーズしなさそうだったので、ログイン画面で Ctrl+Alt+F2 とかでコンソールログインすればフリーズせずに /etc/default/grub の編集ができたかもしれない(未確認)。

参考