6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

はじめに

ロボットの開発用に持ち運びができるPCが欲しい&どうせなら普段の開発でのシミュレーション実行もやりたい。という事でノートPCを購入しました(STYLE-17FG104-117K-VAZX)。いざUbuntuをインストールしようとするとインストール先のメディアが認識されない、インストール時にエラーが発生する。などのトラブルが有りました。
本稿では、色々とやってインストールまでたどり着いた内容をまとめました。

  • 内容は独自に調査したものでありメーカー様、販売店様から保証いただいたものではありません。メーカー様、販売店様に問い合わせはしないでください。
  • Ubuntuのインストールについては自己責任でお願いします。
  • 予めバックアップを作成してから行ってください。

インストール対象PC

iiyamaのSTYLEシリーズ(STYLE-17FG104-117K-VAZX)

  • CPU : 第11世代インテルCore i7(11700K)
  • チップセット : Intel Z590
  • GPU : GeForce RTX 3080
  • メモリ : DDR4-3200 S.O.DIMM 16GB
  • ストレージ : NVMe対応M.2 SSD 500GB

インストール時のトラブル内容

  1. LiveUSBからUbuntuのインストーラを起動してインストールを行うと、インストール対象ストレージが認識されない
  2. ストレージを認識しても、ブートローダの設定で失敗する
  3. シャットダウン時に電源が切れない

対応内容は下記の概要は下記のとおりです。

[インストール時]

  • M.2 SSDを認識させるためにACPIサポートをOFF
  • ブートローダー書き込み時にNVRAMへの書き込みをOFF

[インストール後]

  • ACPIサポートを有効にするためにkernelをバージョンアップ

PCセットアップ手順

ノートPC(STYLE-17FG104-117K-VAZX)のソフトウェアを設定するための手順書です。

1. BIOS設定

Thunderboltをdisable
SecureBootをdisableにする

2. Ubuntu 22.04.1 LTSのインストール

2.1. インストーライメージの取得とbootable USBメモリの作成

2.2. インストーラの起動

M.2 SSDをインストーラが認識しない問題はaskubuntuにそれらしい記述がありました。

linux kernelがacpiに対応しておらず、内蔵のM.2 SSDを認識しないため、acpiの設定をOFFにして起動すると認識する。

  • USBメモリをPCのUSBポートへ挿入し電源ボタンを押下する。
  • スプラッシュ画面が表示されたところでF7を押下しBootMenuを表示する。
  • 選択リストよりUSBメモリを選択する。
  • GNU Grubのメニューより Ubuntu を上下キーで選択し'e'を押下する。起動オプション編集画面へ。
  • コマンドラインオプションを編集。
linux  /casper/vmlinuz ....... maybe-ubuquity quiet splash ---

下記のようにacpi=offを追加する

linux  /casper/vmlinuz ....... maybe-ubuquity acpi=off
  • F10を押下して起動する

2.3. Ubuntuのインストール

2.2.の対応でインストール先のSSDを認識するようになりますが、このまま通常のインストールプロセスを進めると、最後のブートローダー(GRUB)の設定で失敗します。
どうやらnvramへの書き込みにエラーによりインストールが失敗しているみたいです。

そこで、インストーラの起動時オプションでブートローダーのインストールをスキップしてOSをインストールし、後から手動でブートローダーのインストールを行ないます。

  • インストーラ起動後「Try Ubuntu」を選択する

  • Terminalより ubiquity -b を実行する(ブートローダーをインストールしないオプションをつけてインストーラを起動する'-b')

  • Installation type画面で"Erase disk and install Ubuntu"を選択し'Continue'ボタン押下

  • Erase disk and install Ubuntu画面のSelect driveで、'/dev/nvme0n1' を選択し'Install Now'ボタン押下

  • Write the change to disks?確認画面で'Continue'ボタン押下

  • インストール完了後'Continue Testing'を選択する

2.4. BIOSパーティション作成

Terminalよりgdiskを使ってパーティションを作成する

$ sudo sgdisk /dev/nvme0p1

sgdiskの操作でパーテションを編集する

'n'コマンドでパーテション作成
   partition 3
   First sector : default値(34)
   Last sector : default値(2047)
   PartitionType : ef02

'w'コマンドでパーティション情報を書き込む

2.5. grubの手動インストール

GRUB(ブートローダー)をインストールする際、nvramへの書き込みを無効にして行う。

必要なディレクトリをマウント

$ sudo -s
$ cp -a /usr/lib/grub/x86_64-efi /target/usr/lib/grub/

$ mkdir /chroot
$ mount /dev/<ドライブ名><パーティション番号(Ubuntu)> /chroot
$ mount --bind /target /chroot
$ mount --bind /dev /chroot/dev
$ mount --bind /dev/pts /chroot/dev/pts
$ mount --bind /proc /chroot/proc
$ mount --bind /sys /chroot/sys
$ mount --bind /run /chroot/run

chrootで作業

$ chroot /chroot

mount /dev/<ドライブ名><パーティション番号(UEFIシステムパーティション)> /boot/efi
$ mount /dev/sdb1 /boot/efi

device.map ファイルを作成。これを行わないとgrub-installでdevice.mapが見つからない旨が表示される
(ただし、エラーとしてgrub-installが終了しないので分かりにくい)。
$ grub-mkdevicemap

--no-nvramオプションを付けてgrubのインストール

$ grub-install --efi-directory=/boot/efi --debug --root-directory=/
 --target=x86_64-efi-pc --no-nvram /dev/nvme0n1

 chroot /chroot でchrootに入ったままの状態
$ update-grub

/dev/sdb1のUUIDを控えておく

$ blkid /dev/nvme0n1p1
/dev/sdb1: UUID="41F9-4C31" TYPE="vfat" PARTUUID="b235d56d-4e68-4221-9b72-ffd65fdb684d"

この場合、41F9-4C31を控えておく
以下を実行し、編集画面上で同じ桁のUUIDを控えておいたUUIDに書き換える

$ nano /etc/fstab

念の為grub.cfgをバックアップを取って作成

$ mv /boot/efi/boot/grub/grub.cfg /boot/efi/boot/grub/grub.cfg.old

デフォルトの設定を変更する。以下を実行して、GRUB_CMDLINE_LINUX の末尾に reboot=p acpi=offを追記。
reboot=pは、システム終了したあとにCUIから電源が切れないため、追加する。

$ sudo nano /etc/default/grub

grub.cfgを再出力

$ grub-mkconfig -o /boot/efi/boot/grub/grub.cfg

念のためディレクトリをunmountしてから終了。

$ umount /boot/efi
$ exit          <-- chroot環境のexit
$ umount /chroot/run
$ umount /chroot/sys
$ umount /chroot/proc
$ umount /chroot/dev/pts
$ umount /chroot/dev
$ umount /chroot
$ rm -rf /chroot
$ exit

ここまでで、再起動するとインストールしたUbuntuが起動するはず。

2.6. KernelのUpgrade

acpi=offのままでは、shutdown/reboot時、自動的に電源が切れないため、ACPIに対応したkernelへバージョンアップを行う。

2.6.1. proxy設定

必要に応じてNetwork/proxyの設定を行う。aptのproxy設定は /etc/apt/apt.conf に以下のようにproxy設定を行う
proxy設定後システムを再起動する。

/etc/apt/apt.conf
Acquire::http::Proxy "http://proxy server:port";
Acquire::https::Proxy "http://proxy server:port";

更新ファイルのアップグレード

$ sudo apt update
$ sudo apt upgrade -y

2.6.2. Kernel Update

次のページを参照:https://linuxhint.com/install-upgrade-latest-kernel-ubuntu-22-04/

$ sudo -E add-apt-repository ppa:cappelikan/ppa -y
$ sudo apt install mainline -y

kernel 5.19.5をインストールする。

/etc/default/grub を編集し、GRUB_CMDLINE_LINUX=""オプションを空欄にする(acpi=off reboot=pを削除する)

$ sudo grub-mkconfig -o /boot/efi/boot/grub/grub.cfg
$ reboot

まとめ

ここまでの手順でUbuntu 22.04が起動し、シャットダウンすると電源が切れる状態になったと思います。
調査時点ではUbuntu 22.04.1 LTSが最新版でしたが、その後のリリースで問題は解決されているかもしれません。

6
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?