cdnjsjsDeliverunpkgSelf hosted

カメリアの記事

意味があることやないことを綴ります

WSL で GParted を起動しようとしたけどダメだった話

ドライブのパーティションを操作するアプリ GParted は Linux のアプリです。 Live CD は Debian ですね。なんにしろ Windows では動きません。だけど Winsows には WSL がある! 無理矢理ねじ込んでやれば動くのでは? と思い付いたのでやってみました。

まずは Live CD をそのまま wsl --import GParted C:\Users\camellia\AppData\Packeges gparted-live-1.4.0-6-amd64.iso --version 2 としてみました。インポート自体は正常に終了します。そして早速 wsl -d GParted とすると下のようなエラーが出て終了してしまいます。具体的に何が問題なのか分からないのですが。

Processing fstab with mount -a failed.

<3>WSL (8) ERROR: CreateProcessEntryCommon:358: getpwuid(0) failed 2
<3>WSL (8) ERROR: CreateProcessEntryCommon:362: getpwuid(0) failed 2
<3>WSL (8) ERROR: CreateProcessEntryCommon:570: execvpe /bin/sh failed 2<3>WSL (8) ERROR: CreateProcessEntryCommon:579: Create process not expected to return

そこでふと気付きました。 WSL の GUI 環境ってどうやって作られているんだろう? 標準状態で使えるんだろうか? と。ググってみるとドライバをインストールするように Microsoft のサイトで言っています。そこにあるリンクからドライバをダウンロードしてインストールしました。再度チャレンジです。しかし同じエラーが出て起動してくれません。

そういえば fstab に従って mount -a したら failed だった、とエラーメッセージがいっていることに気付きます。最初からちゃんと読めばよかったんですよ。で、 CentoOS9 Stream の WSL インポート用データを参考に Live CD の中身を rootfs.tar.gz というファイルの中に入れてみることにしました。しかしここで問題が発生します。 CentOS9 Stream のデータを解凍してみると「 . 」というピリオド一つのディレクトリが出てくることが分かりました。僕には作り方が分かりません。まぁいいやってことでスルーして CentOS9 Stream と同じ名前の rootfs.tar.gz を作りました。これで上手くいくでしょう。インポートして wsl -d GParted してみます。すると下のようなエラー出て終了してしまいました。

<3>WSL (8) ERROR: CreateProcessEntryCommon:358: getpwuid(0) failed 2
<3>WSL (8) ERROR: CreateProcessEntryCommon:362: getpwuid(0) failed 2
<3>WSL (8) ERROR: CreateProcessEntryCommon:570: execvpe /bin/sh failed 2
<3>WSL (8) ERROR: CreateProcessEntryCommon:579: Create process not expected to returnNativeCommandExitException: Program "wsl.exe" ended with non-zero exit code: 1.

なんかよく分からないんですが、 4 行は同じことを言っています。どうしたものかな、と思うのですが、僕はここでギブアップ。これ以上は分かりません。なんだか深い領域に入っていきそうです。 GParted のサイトには Live CD の内容を HDD に書き込んで実行する方法が書いてありました。僕には難しすぎて意味が理解できなかったのですが、このあたりが突破口になるかもしれませんね。

ちなみにインポートしてダメだった GParted は wsl --unregister GParted として登録削除しています。