XPS13(9300)にArchLinuxをインストール・設定する Part1/4 --Windows再インストール篇--
2020-08-10
- PC
2020年に発売されたXPS13(9300)を購入した。2015年に買ったXPS13(9343)の最新版。
20%引きになるのを見計らって注文した。税込174,222円。Core i7、メモリ16GB、SSD512GB、FHD+、USキーボード、MS Officeなし。元々画面が広かったのが更に広くなった。
これにArchLinuxをインストールし、諸々の設定をしたメモ。
かなり長くなるので4記事に分ける。
この続きはPart2。
この記事でやること
- ArchLinuxのインストール用メディアを作成
- 出荷時の状態で、BIOSを最新にしておく
- パーティションを切り、全パーティションをフォーマット
- Windows10をインストール
ArchLinuxのインストール用メディアを作成
Ubuntuでやった。
Arch Linux JP Project - ダウンロードを見てISOを落とす。それをddでUSBメモリに入れる。
sudo dd bs=4M if=/home/sankaku/Downloads/archlinux-2020.07.01-x86_64.iso of=/dev/sdd
XPS13(9343)のときは適応する無線LANのドライバがなかったのでISOの作成時に手を加えないといかなかったが、今回は不要。
(推奨) Windows10のインストールメディアを作成する
自分はやらなかったが、Windows10が動いている段階でインストールメディアを作成することを 強く おすすめする。Dell OS Recovery Toolというのを使えばいいと思う。 ここ参照。
Windows10を消したあとでLinuxでインストールメディアを作成しようとすると案外面倒だった。(後半参照。)
BIOS更新
別にこのタイミングでしなくてもいいし、そもそもBIOSを更新しなくても問題はないと思うが、いちおうやっておく。
Dell BIOSアップデート | Dell 日本の動画の通り。
- Windows10起動
- ブラウザで
dell.com/support
へアクセス - サービスタグを入れる
サービスタグはマシンの底面に書いてある("ST")。起動時のロゴマークでF12を押してもわかる(その後の画面の右上にSERVICE TAGが書いてある)。 - BIOSをダウンロード
- ダウンロードしたファイルを実行
- 完了後に再起動
アプリケーションウィンドウの中にRestartと書かれたボタンがあるので、そこを押して再起動しなければいけない。はじめ(ウィンドウが小さくて)このボタンが目につかず、Windowsのスタートメニューから再起動したが、それだとアップデートされなかった。
パーティション切りとフォーマット
以下の作業は注意してやること。
準備
ここに書いてある推奨事項も以下の手順に含めた。
- ArchLinuxを焼いたUSBメモリを挿して起動
- 起動時のロゴマークでF12を押し、ブート設定画面へ
- BIOS Setupを選択
- System ConfigurationでSATA OperationをRAID OnからAHCIへ
- Secure BootをOFFにする
- POST BehaviorのSign of LifeにあるEarly Logo Display, Early Keyboard BacklightをどちらもOFFに
- Boot OptionsでUSBメモリを最上位にする
- APPLY CHANGESを押す
- EXITを押す
- ArchLinuxが起動する
パーティションを切る
上の続き。インストール用メディアで起動したArchLinuxでやる。
fdisk -l
やlsblk
で、どのデバイスがSSDなのか把握する
今回は/dev/nvme0n1
だった。cgdisk /dev/nvme0n1
を実行
これで対話的に操作できる。- すべてのパーティションをDelete
この状態でfree spaceだけが残る。 - Newでパーティションを作成
以下の順番で作成した。前のパーティションとの隙間はあけていない。- システムパーティション
- サイズ: 512MB
- パーティションタイプ: ef00(EFI System)
- Microsoft予約パーティション(MSR)
- 128MB
- 0c01(Microsoft reserved)
- Windowsパーティション
- 128GB
- 0700(Microsoft basic data)
- Windows回復用パーティション
- 3GB
これは明らかに多い。1GBでも十分なはず。しかしWindowsアップデートのときにこのパーティションが足りなくなるとWindowsが勝手にパーティションを作ってしまい、その場合Linuxが起動しなくなってしまうということがたびたびあった。それが嫌なので多めに取った。(ただしこれでその問題から逃れられるかはわからない。) - 2700(Windows RE)
- 3GB
- ArchLinux用
- 残りすべて(345.3GB)
- 8300(Linux filesystem)
- システムパーティション
- Writeを押して保存
確認してから実行すること。
フォーマット
/dev/nvme0n1p1
とかのところは自分の環境での場合に合わせる。
-
システムパーティションをFAT32に
mkfs.vfat -F32 /dev/nvme0n1p1
-
WindowsパーティションをNTFSに
-Q
オプションをつけると早いらしいが、今回はつけずにやった。mkfs.ntfs /dev/nvme0n1p3
-
Windows回復用パーティションをNTFSに
mkfs.ntfs /dev/nvme0n1p4
-
ArchLinux用パーティションをext4に -> やっぱりbtrfsに
はじめext4でやっていた。mkfs.ext4 /dev/nvme0n1p5
が、FedoraがデフォルトファイルシステムをBtrfsにするというニュースを見て、試してみることにした。
-f
オプションをつけてext4を上書き。mkfs.btrfs -f /dev/nvme0n1p5
-
poweroff
で電源OFF
Windows再インストール
- WoeUSBでWindowsを焼いたUSBメモリを挿す
作成手順は下。 - 起動、DELLロゴでF12を押して起動ドライブをUSBメモリにする
- そのままインストール
WoeUSBを使ってWindows10 インストール用USBメモリを作成
Ubuntu 16.04で作成した。
WoeUSBはLinux環境でWindowsのインストールメディアを作るときに使うものらしい。Ubuntuの場合はWebUpd8 : Alin AndreiのPPAからインストールする。
sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt install -y woeusb
あとはここからWindows10のISOを落として、WoeUSBで焼けばいい。
作業としてはこれで終了。
しかしこれは最終的な手順で、ここまでめちゃくちゃ詰まった。考えてみるとWindowsのインストールメディアをLinuxで作成するのは初めてだった。
以下、試行錯誤をいろいろ書く。
Windows10のISOはMicrosoftのサイトからダウンロードできる。これをUSBメモリにddすれば終わりだろう…と思っていたが違った!
ddしたUSBメモリでブートしたところ、Windowsインストールの画面にはなる。しかし途中で
お使いのPCに必要なメディアドライバーがありません。
というメッセージが出てしまい、ここから進めない。USBメモリが壊れているのかと思い、買い換えたりしたがそれでもできない。
ddするだけではダメだと気付くまでにかなりの時間がかかった。Windows10のISOをddするのではなく、ISOをマウントして、USBメモリに中身を普通にcpすればいいらしい。
が、パーティションテーブルのタイプで悩んだ。MBRとGPTがあり、USBメモリをどちらで初期化すべきなのかよくわからず。ファームウェアがUEFIなのでGPTなのか?と思ってgdiskを使ったり。
次にフォーマットで悩んだ。FAT32なのかNTFSなのか、あるいは他のものなのか。Windows10のファイルの中には4GBを超えるものがあり、FAT32では無理だ。しかしNTFSだとファームウェアがブートしてくれない…?(最近のBIOSではその心配はないようだが。)
この問題を解決するには、問題の巨大ファイルを分割するとか、あるいはFAT32とNTFSのパーティションを両方作り前者をブート用にするとか、いろいろあるようだった。面倒すぎるし、ここまでで相当時間を使っていたのでWoeUSBを使った。
WoeUSBで焼いたUSBメモリの構成は以下のようになった。(自分用メモ)
$ sudo parted -l
# 略
モデル: ELECOM MF-HTU3B (scsi)
ディスク /dev/sde: 31.0GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: msdos
ディスクフラグ:
番号 開始 終了 サイズ タイプ ファイルシステム フラグ
1 4194kB 31.0GB 31.0GB primary ntfs
2 31.0GB 31.0GB 524kB primary lba
参考
- Dell XPS 13 (9300) - ArchWiki
- UEFI/GPT ベースのハード ドライブ パーティション | Microsoft Docs
Windowsとデュアルブートする場合のパーティションレイアウトはこれを見てから決める。 - EFI システムパーティション - ArchWiki
- Windows と Arch のデュアルブート - ArchWiki
- NTFS-3G - ArchWiki
mkfs.ntfs
に-Q
をつけると早いという話。
Windows10ブートUSBメモリ
-
Windows 10 のディスク イメージ (ISO ファイル) のダウンロード
公式のWindows10ディスクイメージ。 -
Dell
-
試行錯誤中に見たもの
- Linuxにおけるパーティションテーブル(MBR/GPT)の確認方法 : sap_none
- boot - Create a bootable Windows 10 USB drive (UEFI) from Linux - Super User
- Windows10インストール用USBをLinux上で作る - Qiita
- Creating a Bootable Windows 10 UEFI USB Drive Using Linux
- Cannot copy Windows 10 "install.wim"?
- Windows セットアップのエディションの構成と製品 ID のファイル (EI.cfg と PID.txt) | Microsoft Docs
- How to Create a Bootable Windows 10 USB in Linux - It's FOSS
-
WoeUSB