RufusがバージョンアップしてWindows11のインストールが快適になった!

RufusはISOイメージファイルをUSBに書き込むときにブート可能な形式で書き込めるアプリケーションになります。

先日のエントリでWindows11非対応のPCレジストリに対応することでインストールを可能にすると行った内容を書きましたが、その内容を書いてすぐにUSBメモリに起動可能なISOファイルを書き込むアプリケーションのRufasのバージョンアップが行われました。その内容は、ISOファイルの書き込み時にWindowsレジストリに対応させるといったオプションが付きました。どんだけ、便利なのよw。

参考

uepon.hatenadiary.com

個人的にそこまでやっちゃっていいのかな?とは思うところもあるのですが、便利なので使います。非対応PCへのインストールそのものが個人責任だしね。

ということでRufusがどのように変わったかを見ていきます。今回リリースされたRufusのバージョンは3.16になります。今回はインストーラーの必要ないPortableエディションを使用していますが、UIが大きく変わることはないと思います。

Rufusの公式日本語ページ

rufus.ie

以前のバージョン

一つ前のバージョンの3.15のUIを見てから違いをみてみます。

f:id:ueponx:20211025210749p:plain

Rufusを起動してから、書き込み先のUSBデバイスと書き込むWindows11のISOイメージファイルを選択した画面にします。

f:id:ueponx:20211025210727p:plain

今回のバージョンによって変更したのは【イメージオプション】の項目になります。WindowsのISOイメージを書き込もうとするとこの項目には以前は

という2つの選択肢がでてきます。普通であれば、【標準のWindowsインストール】を選ぶことになります。

f:id:ueponx:20211025210729p:plain

こちらを選べば、先日紹介したWindows11のインストーラが起動時のチェックでエラーを検出するため、Windowsレジストリを編集して、インストールをすすめることになります。

新バージョン

f:id:ueponx:20211025230713p:plain

新バージョンをダウンロードして、アプリを起動して、書き込み先のUSBデバイスと書き込むWindows11のISOイメージファイルを選択した画面にすると

f:id:ueponx:20211025210734p:plain

【イメージオプション】の項目にStandard Windows11 Installation(TPM 2.0, Sucure Boot, 8GB+ RAM)が表示されています。これはWindows11が標準でサポートする項目のすべてをチェックする標準的なモードになっているということを示しています。

では、この項目のプルダウンをみると以下のような項目が表示されます。

  • Standard Windows11 Installation(TPM 2.0, Sucure Boot, 8GB+ RAM)… チェックをする標準モード
  • Extended Windows11 Installation(no TPM 2.0, no Sucure Boot, 8GB- RAM) … チェックを回避するモード
  • Windows To Go

と3つの候補が表示されるようになりました。

f:id:ueponx:20211025210736p:plain

非対応PCの場合にはレジストリで上記3つの確認項目を行わないように編集作業を行う必要がありましたが、今回このExtended Windows11 Installation(no TPM 2.0, no Sucure Boot, 8GB- RAM)に項目を変更するだけでその対応が書き込みと同時に行ってくれます。以下のように設定していればOK。

f:id:ueponx:20211025230841p:plain

実際にこの項目に変更後USB経由で起動したところ、起動時のチェックに引っかからずにインストールできるようになりました。

インストール時のセットアップでチェックする部分になりますが

f:id:ueponx:20211025230731p:plain

無事にチェックをすり抜けて、ライセンス確認に入っています。

f:id:ueponx:20211025230734p:plain

おわりに

やばい、便利すぎる!!!!!

けど、自己責任とわからずにインストール出来る勢がでてくると状況が微妙になるので、本当によかったのかなといらぬ心配をする小心者でした。

古いPCへのWindows11のインストール(自己責任)

家で使っている古いPCにもWindows11がインストールできるようになったという話を聞いたので実験してみました。Microsoftさんも許容の道をの漕いていただいたみたいなので大変助かりますが、この作業は自己責任のものになりますので安易に行わないようにしましょう。

今回はWindows11のISOファイルをダウンロードし、USBメモリでインストールメディアを作成し、クリーンインストールを行ってみます。

参考

uepon.hatenadiary.com

続きを読む

日経Linux2021年11月号はセキュリティ特集でした

f:id:ueponx:20211013220618p:plain

先日発売された日経Linux2021年11月号ですが内容を確認しながら読んでいます。自分はIT技術とは無縁の業務になっているので、業務中に勉強するのはちょっとむずかしい状況なので、雑誌などで自分の興味のないところを補強していかないとなかなかに新しい知識をインプットすることができない印象があります。特に今回はセキュリティという内容だったので、できるだけ避けてきているところなのでかなり難しいです。

というか、付録である「今どきのLinuxのはじめ方」が厚くてビビりました。

気になった記事などをここでメモっておいて、あとから調べてみようかなと思っています。

続きを読む

Amazon Fire HD10をPCのサブモニター化する

以前、開催されていたAmazonさんのセールでFireHD10を購入しました。キーボードセットもその当時は魅力的ではありましたが、これまでこういう端末でキーボードを購入 しても全く使ってないというようなことがよくあったので、そのときは、買うまいという意思を固めて購入をやめました。その選択肢は予想通りあたり、今はSNSをみたり、動画サービスをみるような端末として大活躍しています。ただ10インチもいる?といわれるとたぶん8インチを選択したほうがよかったのかもなあという気分です。10インチは手持ちするとかなりの大きさなんですよね。

最近は、古いモニタを捨てたこともあり、家での作業でデュアルモニタを使えない状態になっています。そこで、モバイル液晶っぽいモニターがほしいなあと感じていました。2k、13インチぐらいであれば値段もこなれてきているなあとは思ったのですが、折角ある10インチの液晶デバイスFireHD10があるので、これをなんとかできないかと思ってサブモニタ化してみることにしました。サブモニタなので、資料を表示して確認するような用途だったりとか音楽プレーヤなどのGUIを表示しておくなどの用途とします。バリバリとその上で作業をするというよりは一時的なデスクトップという程度でしょうか。

以前は、タブレットiPadなど)の映像をFire Stickに表示するというエントリを書きましたが、今回は逆のことをやっていきます。

使用したアプリケーションはspacedeskになります。

続きを読む

WSL2環境でQEMU実行環境を構築しRaspberryPi OS(GUI環境)を起動する

タイトルがクソ長い…

以前からWindows上でもRaspberryPi OSの動作ができるというQEMUの存在は知っていたのですが、もっと手軽に使えないかなと思っていました。そんな中、最近ネットを検索しているとWSL2環境で構築したQEMU上でもRaspberryPi OSが動作し、X Window Systemも起動できるということを知りました。

f:id:ueponx:20211006134854p:plain

ja.wikipedia.org

e-words.jp

QEMUとは、コンピュータの挙動をソフトウェア的に再現するエミュレータ型の仮想化ソフトの一つ。コンピュータ内で別のコンピュータを起動し、ソフトウェアを実行することができる。(IT用語辞典より引用)

とのこと、アーキテクチャ違いのものでも動くのは気になります。

そこで今回は、以下2つの情報をもとに挑戦してみようと思います。参考情報元の方々ありがとうございます。

【参考】

qiita.com

qiita.com

qiita.com

準備

必要となるファイルの準備

まずは必要となるファイルをダウンロードします。ファイルの保存場所をC:\RaspberryPi3にしようと思いますので、まだ作成していない場合には作成します。Cドライブの直下にしているのはパス名が長くならないようにする工夫です。

github.com

RaspberryPi OSのイメージは以下のサイトなどからダウンロードします。 お気づきかもしれませんが、今回使用しているOSイメージは少し古めです。自分も試してみたのですが、最新のイメージであるraspios_armhf-2021-05-28で動作させようとするとエラーが発生するようです。(参考情報でも似たような現象があるとの話でした)そのため、今回はraspios_armhf-2020-08-24を使用しています。

ftp.jaist.ac.jp

また、起動に際してはOSイメージ以外にもカーネルとデバイスツリーのファイル(Device Treeが記述されたバイナリ(dtb: Device Tree Blob)も必要になります。RaspberryPiへインストールするSDカードイメージからこれらを取り出すことも可能なのですが、以下のGitHubリポジトリを使うことで、かなり容易に準備することができます。

以下のリポジトリからZipファイルをダウンロードします。

qiita.com

リポジトリにアクセスして、以下の操作を行ってZipファイルをダウンロードします。

f:id:ueponx:20211005233519p:plain

ダウンロードしたZipファイルの中にある

qemu-rpi-kernel-master.zip\qemu-rpi-kernel-master\native-emulation\5.4.51 kernelsにある、kernel8.imgをC:\RaspberryPi3にコピーします。

f:id:ueponx:20211005234245p:plain

加えてqemu-rpi-kernel-master.zip\qemu-rpi-kernel-master\native-emulation\dtbsにある、bcm2710-rpi-3-b.dtbをC:\RaspberryPi3にコピーします。

f:id:ueponx:20211005234251p:plain

これで、必要なファイルの準備は完了です。

WSL2の環境にQEMUをインストールする

続いての準備はWSL2上のUbuntu環境にQEMUをインストールしていきます。

WSL2の設定などに関しては過去のエントリを確認して設定を行ってください。(Dockerのことも記載していますが、今回は不要です)

uepon.hatenadiary.com

設定できたらUbuntuのターミナルに接続し、QEMUのインストールしていきます。

Ubuntu 20.04 LTSでQEMEをインストールするときにsudo apt install -y qemu-systemと行うと、QEMU 4.2系がインストールされます。 インストールされるバージョンを確認するには以下のコマンドを実行すればOKです。

$ apt list -a | grep qemu-system

今回はネットワーク機能も使用するため、USBコントローラをサポートしたQEMU 5.1以降のバージョンが必要になります。 そこでUbuntuのサーバーバックポートのPPA(Personal Package Archive)から、QEMU 5.2をインストールしていきます。

【参考】

WSL2(WSLg)上にRaspberry Pi OS(RaspbianBuster)をQEMUエミュレーターで動かす(Raspi3マシン) - Qiita

PPA(Personal Package Archive)を使用して、QEMU 5.2をインストールする

PPAを使用するにはaptコマンド側にインストールパッケージの含まれたリポジトリを追加する必要があります。以下のコマンドを実行することでリポジトリの追加、更新が行われます。最後のコマンドで実際にインストール可能なバージョンに5.2系が含まれるかを確認しています。

$ sudo add-apt-repository ppa:canonical-server/server-backports
$ sudo apt update
$ apt list -a | grep qemu-system

無事にQEMUの5.2系がインストールパッケージに含まれる様になったら、先程述べたインストールコマンドを実行していきます。

$ sudo apt install -y qemu-system

完了したら、念の為バージョンを確認しておきましょう。

$ qemu-system-aarch64 --version

f:id:ueponx:20211006123956p:plain

これで準備は完了です。

QEMUの起動スクリプトを使用してRaspberryPi OSを起動する

QEMUの起動スクリプトは以下のようになります。このスクリプトX Window System環境(以下GUI環境)を起動できます。このスクリプトはCドライブの直下にRaspberryPi3というフォルダを作成し、その中にあるカーネルイメージ、デバイステーブル、OSイメージを配置して、使用するようにしています。WSL2ではWindows上のファイルも/mnt/c/というパスでマウントされているため、WSL環境下のOSのボリューム容量が小さい状態であってもマウントしてあるWindows側のパスを使うことができるというメリットがあります。

今回は以下で設定してあります。これらのファイルはC:\RaspberryPi3というフォルダに保存済です。

  • カーネル … kernel8.img
  • バイスツリーのファイル(dtb: Device Tree Blob) … bcm2710-rpi-3-b.dtb
  • OSイメージ … 2020-08-20-raspios-buster-arm64.img

run.sh

#!/bin/sh
cd `dirname $0`

qemu-system-aarch64 \
-m 1024 \
-M raspi3 \
-kernel /mnt/c/RaspberryPi3/kernel8.img \
-dtb /mnt/c/RaspberryPi3/bcm2710-rpi-3-b.dtb \
-drive format=raw,file=/mnt/c/RaspberryPi3/2020-08-20-raspios-buster-arm64.img \
-append "console=ttyAMA0 root=/dev/mmcblk0p2 rw rootwait rootfstype=ext4 dwc_otg.fiq_fsm_enable=0 bcm2708_fb.fbwidth=1920 bcm2708_fb.fbheight=1080" \
-serial stdio \
-no-reboot \
-device usb-kbd \
-device usb-tablet \
-device usb-net,netdev=net0 \
-netdev user,id=net0,hostfwd=tcp::2222-:22

作成した実行スクリプトは実行権限を与えます。

その後、実行を行うとQEMU上でRaspberryPi OSが起動し以下のように表示されます。私のPCは第6世代のCore-i7ですがXの環境が表示されるまでに8分ほどかかりました。 ログインプロンプトが表示されるまでは4分程度となっています。起動後すぐにGUI側の表示にRaspberryPiのロゴが出てくれるので動作していることはわかりやすいと思います。

起動直後 f:id:ueponx:20211006125941p:plain

ログインプロンプトが表示 f:id:ueponx:20211006130043p:plain

起動完了(Windows画面上に表示されています) f:id:ueponx:20211005231349p:plain

初回起動時のダイアログも表示されます f:id:ueponx:20211005231357p:plain

chromiumを起動してみました f:id:ueponx:20211005231411p:plain

aptで新しいパッケージを入れてみました

f:id:ueponx:20211006132401p:plain

CPUの負荷はかなりあるようです

f:id:ueponx:20211006132442p:plain

ちなみにshutdownするとKernel panicが発生しますw

f:id:ueponx:20211006133803p:plain

CLI環境での起動

GUI環境は負荷が大きいので実用的とは言い難い状況です。そこでCLI環境でも試してみました。 起動スクリプトは以下のようになります。-nographicオプションをつけているところがポイントになります。

runCLI.sh

#!/bin/sh
cd `dirname $0`

qemu-system-aarch64 \
-m 1024 \
-M raspi3 \
-kernel /mnt/c/RaspberryPi3/kernel8.img \
-dtb /mnt/c/RaspberryPi3/bcm2710-rpi-3-b.dtb \
-drive format=raw,file=/mnt/c/RaspberryPi3/2020-08-20-raspios-buster-arm64.img \
-append "console=ttyAMA0 root=/dev/mmcblk0p2 rw rootwait rootfstype=ext4 dwc_otg.fiq_fsm_enable=0 bcm2708_fb.fbwidth=1920 bcm2708_fb.fbheight=1080" \
-nographic \
-device usb-net,netdev=net0 \
-netdev user,id=net0,hostfwd=tcp::2222-:22

f:id:ueponx:20211006133806p:plain

f:id:ueponx:20211006133810p:plain

X環境ほどの負荷はありませんが、起動には2分ほどかかりますね。

おわりに

今回はQEMUを使ってWindows上でもRaspberryPi OSの起動を試してみました。実際に使うのであればQEMUWindows版をインストールした方が負荷が少ないので現実的でしょう。 一度やってみたかったんですよね…っていうネタでした。

/* -----codeの行番号----- */