5日間に渡りダラダラと戦い続けたので、何が必要十分だったのかよくわからないがなるべく思い出して書く。
https://www.lenovo.com/jp/ja/think-workstations/engineering-architecture-and-construction-industry/ThinkPad-P1/p/22WS2WPP101 上記のリンクから購入した。
- インテル Core i7-8850H プロセッサー (2.60GHz, 9MB)
- NVIDIA Quadro P1000 - 4GB GDDR5 を選択した。
usbを古い8GBのものを利用したら起動できなかったが、新し目の16GBのusbを使ったら行けた。usbに書き込むときに失敗していたのかもしれない。原因は不明。https://medium.com/@rongou/installing-ubuntu-18-04-on-lenovo-thinkpad-p1-9ef814a03390 基本的には、この記事に従って、Secure Bootをdisableに、Graphics DeviceをDiscrete Graphicsにした。grubのメニューから起動オプションをgfxpayload=text
,linux ... nomodeset acpi=force
にした。上の記事ではacpi=force
はついていないが、つけないとパソコンをreboot or shutdownできない、nvidiaのドライバの初期化が終わらない、bluetoothキーボードを接続しようとするとグルグルが止まらなくなる、外部ディスプレイが認識されない、cpuの音がうるさい(実際dmesgで確認すると Cor e temperature above threshold と出ていた)などの問題があった。起動オプションの変更方法についてだが、ブート時にgrubの画面からeを押してオプションを編集するのでもよいし、起動はうまく行くが不具合が出る、という状態なら、/etc/default/grub
を編集するのでも良い。私は試行錯誤で起動するところまで行ったので、/etc/default/grubを編集してやった。/etc/default/grub
を編集する場合は、sudo update-grub
をしないと、大元の/boot/grub/grub.cfg
がupdateされないので、注意する。/etc/default/grubは/boot/grub/grub.cfgを生成するための設定ファイル。私の/etc/default/grubを参考までに提示する。コメントなどは消してある。
GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX="acpi=force nomodeset"
GRUB_GFXPAYLOAD_LINUX="text"
GRUB_CMDLINE_LINUXとGRUB_CMDLINE_LINUX_DEFAULTの使い分けがわからなかったので、適当に書いている。https://www.gnu.org/software/grub/manual/grub/grub.html
これの説明が理解できなかった。
起動できたら端末を開いて sudo ubuntu-drivers autoinstall
する。
はじめにacpi=off
でやっていて、起動まではできたのだが、不具合がたくさん出て困っていた。acpi=forceで色々解決した気がするが、いろいろやりすぎて何が本当に必要だったのかわかっていない...
その他参考にしたもの
https://pslabo.hatenablog.com/entry/2016/02/26/Ubuntu_Linux_%E3%81%A7%E3%82%B7%E3%83%A3%E3%83%83%E3%83%88%E3%83%80%E3%82%A6%E3%83%B3%E6%99%82%E3%81%AB%E9%9B%BB%E6%BA%90%E3%81%8C%E8%90%BD%E3%81%A1%E3%81%AA%E3%81%84%E5%A0%B4%E5%90%88%E3%81%AF_acpi%3Dfo
https://unix.stackexchange.com/questions/392392/failed-to-initialized-nvidia-card
ドライバの初期化の問題と、再起動、シャットダウンできない問題がどちらもacpi=forceで解決するらしく、謎。