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/grub の GRUB_CMDLINE_LINUX に nomodeset を追加
$ 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 の編集ができたかもしれない(未確認)。