LoginSignup
1
0

Ubuntu 22.04 で Windows10 の USB ブートメディアを作成してBootまで

Last updated at Posted at 2023-12-10

1. 初めまして

オープラン株式会社という企業で働く新米ITエンジニアです。
今は、金融Webシステムの開発案件に携わっています。
日々学習していく中で、学んだことをアウトプットしたほうが忘れないかな、と思ったので、備忘録としてQiitaに書き込むことにしました。
今回は初回ということでキッティングの記事です。
業務とは全く関係ないんですが、なんだかんだ時間かかったので、テストがてら投稿してみます。
ご指摘あれば何でも言ってください。

2. 授業で習った通りにやってみた

大学の授業では、

  1. .isoイメージファイルをUSBに焼く
  2. PCに焼いたUSBを指して電源オン
  3. UEFIを開いてbootしたい.isoイメージファイルを選択
  4. 再起動

でインストールできたはず。この時はDebianだったけどWindowsも同じようにやれば…。

3. USBにイメージファイルをコピーできない

早速エラーが発生した。Windows公式のダウンロードページ (https://www.microsoft.com/ja-jp/software-download/windows10) から、isoファイルをダウンロードし、USBにコピーしようとしたけど、とてもとても時間がかかったので、中断してGoogleに頼ることに。

3-1. usb 転送速度 遅くなる[検索]

どうやら、ファイルシステムがFAT32である場合、4GB以上のファイルを保存することができず、ファイルシステムをNTFS(NT File System)に切り替える必要があるとのこと (https://recoverit.wondershare.jp/usb/slow-transfer-speed.html) 。
ちなみに、FAT32とNTFSの違いはこんな感じ(https://jisaku-pc.net/hddhukyuu/archives/741) 。

FAT32 NTFS
最大ファイルサイズ 4GB 16TB
最大ドライブサイズ 2TB 256TB
暗号化 ×
ファイル圧縮 ×
耐障害性 ×
検索の高速化 ×

ここでいう耐障害性とは、停電等で障害が発生しても、ファイルシステムの不整合を発生させない仕組みのこと。ジャーナリングファイルシステムという仕組みを使っていて、実データとメタデータ作成の処理を逆にして、メタデータの一時保管場所を用意してあげることで、不整合を発生させない仕組みらしい (https://ja.wikipedia.org/wiki/%E3%82%B8%E3%83%A3%E3%83%BC%E3%83%8A%E3%83%AA%E3%83%B3%E3%82%B0%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0) 。ふーん。

使ってるUSBのファイルシステムを確認すると、

(base) hogehoge@foo:~$ sudo parted -l 

モデル: ATA SAMSUNG MZNLN256 (scsi)
ディスク /dev/sda: 256GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt
ディスクフラグ:
 
番号  開始    終了   サイズ  ファイルシステム  名前                  フラグ
1    1049kB  538MB  537MB   fat32             EFI System Partition  boot, esp
2    538MB   256GB  256GB   ext4
 
 
モデル:  USB  SanDisk 3.2Gen1 (scsi)
ディスク /dev/sdb: 15.4GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: msdos
ディスクフラグ:
 
番号  開始    終了    サイズ  タイプ   ファイルシステム  フラグ
1    4194kB  15.4GB  15.4GB  primary  fat32
2    15.4GB  15.4GB  1049kB  primary                    lba

で、やっぱりFAT32の設定になってた。
なんだよ、NTFSのほうが性能いいのに、なんで初期設定FAT32になってんだよ、って思ったんだけど、どうやらFAT32のほうが歴史が古いから、より多くのOSに対応するために、あえて初期設定をFAT32としているものが多いらしい。
ボヤいてごめんな、SanDiskちゃん。

4. FAT32 → NTFS

4-1. デバイス名を知る

ということで、USBのファイルシステムをFAT32からNTFSに変えていく。
まずは、USBのデバイス名を調べる。dmesg | grep USBとかfdiskで調べる方法もあるけど、手っ取り早くデバイス名知れたなーと思ったのは

(base) hogehoge@foo:~$ df -h
(略)
Filesystem  Size Used Avail Use% Mounted on
/dev/sdb1   15G  101K 14.8G 1%   /media/hogehoge/usbdisk

とすること。こうしてUSBの名前がsdb1で認識されていることを知れた。

4-2. ファイルシステム変換 → Have a nice day.

コマンド自体は次のサイトを参照した (https://www.nemotos.net/?p=1357) 。

(base) hogehoge@foo:~$ sudo mkfs -t ntfs -Q -L usbdisk /dev/sdb1

/dev/sdb1 is mounted.
Refusing to make a filesystem here!

実行してみると、どうやらマウントしている状態でファイルシステムを変えることはできないらしい。そこで、アンマウントしてから実行。

(base) hogehoge@foo:~$ sudo umount /dev/sdb1
(base) hogehoge@foo:~$ sudo mkfs -t ntfs -Q -L usbdisk /dev/sdb1

Cluster size has been automatically set to 4096 bytes.
Creating NTFS volume structures.
mkntfs completed successfully. Have a nice day.

うん、うまくいったみたい。
どうでもいいけど、最後の Have a nice day. にちょっと心を動かされた。
自分がコマンド作るとしたら、こんな余裕をもって作りたいなあ。

5. イメージファイルをUSBにコピー

無事にNTFSに変えれたので、次にイメージファイルをコピーする。6GBあるファイルをコピーしてくれてるので少々時間がかかる。
コピーが終了してから、USBを抜いて、そのままインストールしたいPCに差し込んで、電源を入れてみた。
ようやく終わった…。

6. USB挿入→ PC/UEFI起動→ boot画面に出てこない

USBを挿入して、
PCを起動して、
UEFIを起動して、
boot画面に出て、
こない。
あっれれー?Boot画面に出てこないな?
またしてもGoogle先生に頼らざるを得ないみたい。
「boot iso from usb」で検索。
すると、どうやらイメージファイルをフリーソフトでBoot可能にしてからコピーしなければいけなかったらしい。こんなの、進研ゼミで習ってないよ… (https://onoredekaiketsu.com/rufus-if-booting-from-usb/) 。
有名どころだとRufusとやらを使うらしいが、Linuxに対応していないので、代わりにBalenaEtcherを利用してみる。

6-1. (途中断念)BalenaEtcherの非利用

公式Githubから.debファイルをダウンロード(https://github.com/balena-io/etcher/releases/) して、以下のコマンドを叩く。

(base) hogehoge@foo:~$ sudo apt install ./ダウンロード/balena-etcher_1.18.11_amd64.deb

こうして、BalenaEtcherをインストールして、「flash from file」からいざ変換しようとファイルを選択すると…。
balenaetcher_attention.png
Windowsのイメージファイルには、Windows用の変換ツールを使えと、注意されてしまった。なになに、LinuxならWoeUSBだと?先に言ってくれこんちくしょう!

6-2. (実際は)WoeUSBの利用

BalenaEtcherの時とは異なり、リポジトリを追加してaptで持ってくる。

(base) hogehoge@foo:~$ sudo add-apt-repository ppa:tomtomtom/woeusb
(base) hogehoge@foo:~$ sudo apt update
(base) hogehoge@foo:~$ sudo apt install woeusb woeusb-frontend-wxgtk

これでWoeUSBをインストールできた。さっそく変換しよう。アプリ一覧からWoeUSBを開いて、ファイルを指定して変換 (この時もアンマウントしてほしいとか言われたので、その通りにして実行したらできた) 。
ようやくブートメディアができたよ…。

7. USB挿入 & PC起動

これで、うまくいってくれ…!
image.png
キター!

8. 結論:ファイルシステムはNTFSを、変換にはWoeUSBを。

いろいろ調べたり、インストールしたり、疲れちゃいました。
やっぱ、Windowsって大変だよなあ。

9. 参考サイト

1
0
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
1
0