OnePlus 6Windows

SD845のAndroidスマホに”Windows 11”をインストールする方法【OnePlus 6】

スポンサーリンク

海外の開発者が、Snapdragon 845の端末に「UEFI」を移植し、Windows 11などを起動できるようになりました。以前から同様のプロジェクトはいくつかあったのですが、機種がかなり限定的な上、制約も多く、更に...

私が手を出せる難易度ではありませんでした!!!(重要)

ところが、今回リリースされたものは、対応端末が多い上に、かなりまともに動き、更に私でもなんとか起動できたほどの難易度になっていました!!

スローロリス

やったぜ。

目次をチラ見していただければ分かる通り、内容が内容だけに手順はか な り多いですが、ほとんどコピペでOKなので、SD845搭載スマホを持て余している方はぜひ。(当然ですが何があっても自己責任でお願いします。

導入はしないけど動作が気になる、という方は2ページ目へどうぞ。ベンチマークも計測しています。

2ページ目へ  >

この記事は以下を参考に、一部わかりやすい方法へ置き換えて解説しています。
页面走丢啦~ - SILIME
スポンサーリンク
スポンサーリンク

動作する端末

今回は「OnePlus 6」を購入して導入してみますが、Snapdragon 845を搭載した多くの端末にも対応しています。以下から対応端末とその対応状況を確認できます。

Windows Status · edk2-porting/edk2-sdm845 Wiki
Broken edk2 port for sdm845 xD. Contribute to edk2-porting/edk2-sdm845 development by creating an account on GitHub.

私の手持ちでは「Mi MIX 2S」が対応していたのですが、残念ながらWindows上でUSBとタッチパネルが動作せず、起動だけしかできないという状況でした...

ということでWindows 11の起動は諦めることにしまし...

OnePlus 6を購入しました!!!

しゃーない

Androidスマホ(OnePlus 6)の条件

これらが条件になります。まあカスタムROM焼ける状態にしてればOK。

・ブートローダーアンロック済み
・TWRPなどのカスタムリカバリ導入済み

OnePlusであれば、以下の記事の手順に従ってブートローダーのアンロックします。

OnePlus Nordのブートローダーアンロック、TWRP・Magisk導入手順
OnePlus NordにMagiskを導入するまでの手順です。

ただ、TWRPに関しては、OnePlus 6はABパーティションを採用している影響で少しややこしいので、ご自身で調べてください。

必要なもの

  • マウス(USB接続)
    Windows PE上ではタッチパネルが動作しないため必須。そもそもこのサイズだとタッチパネルが使えても無いと厳しい。
  • キーボード(USB接続)
    Windows PE上で必須です。
  • Windowsパソコン
  • USBメモリ
    データの移動に使用します。16GB程度あればOK。
  • USB-C接続のハブ(USB×3ポート以上)
    マウス、キーボード、有線LANアダプタ接続に必須
  • USB接続の有線LANアダプタ(※一部機種ではWi-Fiが動作するので不要な場合もあります)
    一部機種を除き、Wi-Fiは動作しません。ARM版Windowsでは無線LANアダプタも使用できないはずなので有線LANが必須です。

USB-Cハブは以下がおすすめ。安い上に有線LANアダプタも搭載なのでぴったりです。USB-Cはこれから広まる一方なので、まだハブを持っていない方は一つくらい持っておくことをおすすめします。

スポンサーリンク

必要なファイルのダウンロード

まあまあたくさんのファイルが必要になりますので全てダウンロードします。

UEFI対応の「boot.img」

これがメインです。以下のページにファイルが並んでいますので、自分の端末のものをダウンロード。機種名ではなくコードネームでの記載なので注意してください。(例:OnePlus 6=enchilada)

Releases · edk2-porting/edk2-sdm845
Broken edk2 port for sdm845 xD. Contribute to edk2-porting/edk2-sdm845 development by creating an account on GitHub.

Windows PE

Windows 11などをインストールするための、いわば”踏み台”として使用します。以下のどちらかからダウンロードします。

DropBox Googleドライブ

ダウンロードしたら解凍して中のフォルダを取り出しておきます。

Windows用のドライバ

UEFI対応イメージと同じ開発者がリリースしているWindows用のドライバです。

GitHub - edk2-porting/WOA-Drivers: Windows Drivers for Qualcomm Snapdragon platforms
Windows Drivers for Qualcomm Snapdragon platforms. Contribute to edk2-porting/WOA-Drivers development by creating an account on GitHub.

ダウンロードしたら、解凍して中のフォルダを取り出しておきます。

Windows 11のISOファイル

ISOファイルは原時点では公式で配布していませんので、「UUP Dump」という、Windowsの更新をかき集めてISOを作成できるサイトを使用してダウンロードします。手順は以下の記事に書いていますのでそちらから。

Raspberry Pi4にARM版「Windows 11」をインストールしてみた
ARM版のWindows 10がリリースされてから、ARMのCPUを搭載した「Raspberry Pi」でもWindowsが動くようになりましたが、Windows 11でも同様にインストール及び動作が可能なようです。ということでRaspbe

Dism++

Windows 11のイメージファイルにドライバを追加するために使用します。「Dism」というのは本体コマンドラインで使用するツールですが、Dism++は完全GUIで簡単に使用できます。

Dism++ | New Windows Utility
Chuyu Dism++ is a GUI version of the Microsoft Dism tool. It can be used to integrate updates and drivers, cleanup WinSxS and Package Cache, customize your OS I...

Parted

Androidスマホの内部パーティションを分割するために使用します。下手なことすると本当にどうしようも無くなる場合があるので注意してください。

parted

コマンド一覧.txt

Windows PEでいくつかコマンドを入力する必要があり、その入力するコマンドを記載したテキストファイルです。

コマンド一覧.txt
スポンサーリンク

必要なドライバの抽出

先程ダウンロードしたドライバには機種よって必要/不必要なものがいくつかあるため、機種ごとに必要なドライバを取り出す必要があります。

先程取り出した「WOA-Drivers-main」を開き、Windowsパソコンの場合は「extract.ps1」を右クリックして「PowerShellで実行」をクリックします。

すると以下のような画面になるので、ここに使用している機種のコードネームを入力します。今回は「OnePlus 6」なので「enchilada」と入力してEnterを押せばOK。

これで「output」というフォルダが出てきていればOK。

OnePlus 6のパーティションを分割する

当然ですが、OnePlus 6はAndroidだけを起動する前提なので、Windows 11をインストールできるパーティションなんて存在しません。そのため既存のパーティションを分割してスペースを確保します。今回は引き続きAndroidも起動できるように、「userdata」を分割します。「userdata」はAndroid上で言う「内部ストレージ」です。

ターミナルから操作を行いますが、ADB経由で可能なのでそちらで行います。OnePlus 6でTWRPを起動し、パソコンにUSBケーブルで接続します。これだけでadbコマンドの実行が可能です。(パソコン側はADB使用に準備が必要)

partedのコピー

OnePlus 6の内部ストレージに「parted」をコピーします。

コマンドの実行

パソコンから、以下のコマンドを順番に実行します。

adb shell

cp /sdcard/parted /sbin/ && chmod 755 /sbin/parted

umount /data && umount /sdcard

parted /dev/block/sda

これで以下のようにpartedが起動します。

次に「p」とだけ入力して実行します。これでパーティションが一覧で表示されます。ここで「userdata」ラベルのパーティションを確認します。この一番左の番号(以下の場合は17)が必要になります。

userdataを削除して分割

userdataを一度削除します。当然内部ストレージ内のファイルは全て消えますので注意してください。

rmと入力し、そのあとに、先程のuserdataの一番左の番号を入力し、実行します。今回の場合は17を指定して削除します。絶対に番号を間違えないように注意してください。

rm 〇〇

次に必要なパーティションを作成していきます。コマンドはネット上で拾ってきたのですが、端末によってストレージの容量や配置は異なるので、それに合わせてパーティションサイズを変更する必要があります。参考として以下の画像をおいておきます。

私のOnePlus 6(64GBモデル)の場合は以下のコマンドになりました。この場合だとWindows 11で使用できる容量は30GBとなります。

mkpart esp fat32 6559MB 7000MB

mkpart pe fat32 7000MB 10000MB

mkpart win ntfs 10000MB 40GB

mkpart userdata ext4 40GB 60.7GB

set 17 esp on

実行後、再度「p」でパーティション一覧を表示させて以下のような4つのパーティションができていればOK。

Windows 11のパーティション容量を少しでも多くしたい場合、2つ目のPEパーティションは1GB程度でも問題ないと思うのでこれを削るか、Android用の「userdata」を削るしか有りません...

あとは以下でpartedを終了します。

quit

フォーマット

これで分割ができたので、あとはフォーマットを行います。sda"17"などの番号は先程作成したパーティションに合わせて変更します。私の場合はこのままでOKでした。

mkfs.fat -F32 -s1 /dev/block/sda17

mkfs.fat -F32 -s1 /dev/block/sda18

mkfs.ntfs -f /dev/block/sda19

mke2fs -t ext4 /dev/block/sda20

Windows PEを起動できるようにする

ひとまずWindows PEを起動させる必要があります。Windows PEはWindows 11をインストールするための、いわば踏み台として使用します。

内部ストレージにWinPEなどをコピー

TWRPを再起動します。再起動後、パソコンに接続して内部ストレージの容量が変わっていることを確認します。

次にOnePlus 6の内部ストレージに以下の2つファイルをコピーします。普通に内部ストレージに配置すればOK。

次にUSBでPCに接続し、PCの方から以下のコマンドを入力。

adb shell

mount /dev/block/by-name/pe /mnt

cp -r /sdcard/20h2pe_new/* /mnt

これでWindows PEが内部ストレージの「PE」パーティションにコピーされました。

USBメモリにファイルをコピー

先ほどダウンロードしたファイルの中から以下のものをUSBメモリにコピーします。

Windows 11のISOファイルは4GB以上のため「FAT32」形式でフォーマットしている場合コピーできません。この場合はUSBメモリをexFATでフォーマットし直す必要があります。

UEFI対応のBootに書き換え

TWRPから普通に焼くだけです。

ちなみにですが、OnePlus 6ではBootイメージ書き換え後、TWRPが起動しなくなりました。

TWRPを開く場合はfastbootから読み込ませる必要があるので注意です。ABパーティション採用の端末では同様になると思います。

これで再起動します。

Windows PEが起動

起動時の画面が変更され、右のような画面になればOK。これがWindows PEです。

Windows PEでWindows 11をインストール

diskpartコマンドを実行

Windows PEが起動したら、USB-Cのハブで「マウス」「キーボード」「USBメモリ」を接続します。

エクスプローラを開きます 。一番左上にあるアイコンから開けます。

エクスプローラからUSBメモリを開き、「コマンド.txt」を開きます。その中に記載されている上の4行をコピペして実行します。

3行目の"17"はESPのパーティションを指定します。機種によっては異なる場合がありますので適宜変更してください。
 
このコマンドにより、ESPのパーティションに「Y」のラベルが割り当てられます。

Dism++でWindows 11を導入

USBメモリからDism++を起動します。ARMのCPUなので「Dism++ARM64.exe」を起動します。

左のボタンをクリック。

起動したら左上のボタンをクリックし、一番上の項目を選択します。

ここで、上側にはWindows 11のISOファイル、下側には先程作成したNTFSのパーティションを指定します。

忘れがちですが「添加引~」にチェックを必ず入れること。これにチェックを入れるとBootパーティションを同時に追加してくれるようになります。これを入れ忘れると起動できません。

これで実行し、完了するとメッセージが表示されますのでOKを押しておきます。

Windows 11にドライバを追加

もちろんWindows 11にOnePlus 6などのドライバなんて存在しないのでドライバを追加します。

Dism++の真ん中の文字をクリック。

なんて読むのか知りませんが、ドライバを追加するメニューを表示し、右下のボタンをクリック。

ファイルの選択画面が表示されますので、USBメモリに入れておいた「WOA-Drivers-main」のフォルダを選択します。

これでこのメッセージが表示されればインストールが成功しています。

ドライバの署名強制を無効化

さきほどの「コマンド一覧.txt」の最後の2行を実行するだけです。

bcdedit /store Y:\efi\microsoft\boot\bcd /set {Default} testsigning on

bcdedit /store Y:\efi\microsoft\boot\bcd /set {Default} nointegritychecks on

実行して以下のような表示になれば完了です。

Windows PEを削除

これでもうWindows PEは不要となりました。これを残しているとこちらが起動してしまう場合があるため削除しておきます。

エクスプローラからWindows PEのパーティションを探します。この記事の通りのコマンドを入力したのであれば3GB程度のパーティションです。これを右クリックして「格式化」(フォーマット)をクリックします。

あとはそのまま実行するだけで消せます。。

PE
踏み台

止まるんじゃねぇぞ…。

一度シャットダウンする

Windows PEはスタートボタンからのシャットダウンができません。シャットダウンしたい場合は最初から表示されているコマンドプロンプトを閉じれば勝手にシャットダウンします。

ただ、なかなかシャットダウンしない場合もあるため、その場合は電源長押で切りましょう...

これでインストールが完了

これでWindows 11のインストールが完了しました。次のページでは、Windows 11の動作、最低限行う設定、ベンチマーク、ソフトの動作確認などを行っていきます。

スポンサーリンク
スポンサーリンク

関連記事

スポンサーリンク
この記事をシェアしませんか?
記事の更新を受け取れます
SMART ASW

コメント欄

  1. OnePlus6でチャレンジしてますが、うまく行きません。
    順番にできていますが、Windows PEが立ち上がらず「Press ESC in 1 Seconds to Skip Startup.nsh Any Other Key to Continue」と出ます。(初めてブログと違う反応になった)
    ESCを押しても反応なしで「exit」と打ってBIOS画面に行くことは出来ます。
    ここで止まっていますが、何かアドバイスを頂けないでしょうか?

    • おそらくWindows PEのコピーが正常にできていないんじゃないかと思います。再度「内部ストレージにWinPEなどをコピー」の手順を行ってみてください。

      • 返信ありがとうございます、再度チャレンジします。

      • Oneplus 6にファイルを送る方法を思いつかないのです、PCに接続してもPCからは見えないです。
        なにか方法がありますかね?

  2. そのOnePlus6自分が狙ってたやつでしたw
    仕方なくもう一つの6G64GB版を購入しました…
    日本語の資料はなかったのでとても参考になります。そして、wifiも最新ドライバで対応したようです。(Telegramのグループで確認しました。)

    • まさか同じこと考えていた方がいたとは…笑
      Wi-Fiのドライバは実はすでに軽く試したのですが、OnePlus6では動作しなかったのでとりあえず保留してます。適当にドライバを入れただけなので、なにか間違ってるだけかもしれませんが…

      • 今確認しましたが、OnePlus6でwifi動作確認できました。あなたの手順で動きましたよ!

        • ということはインストール前に導入しておく必要がありそうですね。情報ありがとうございます!

  3. こういう現状ロマンしかないけどちょっと待てば実用化されそうな技術紹介していただけれるの本当にありがてぇm(_ _)m

    キャリア版GalaxyNote9で動くようになればFeliCa・ペン付き最強スマホが出来るのに…
    とりあえず全裸待機します。

    ただスマホとしての実用性は855以降じゃないとちょっと厳しいなって思うので(搭載パーツとかカメラの処理とかのAIコアがしっかりしてる)855以降でも出来る様になってもらいたいです。開発者様(ワガママ)

    • 開発者がかなりの頻度で更新しているので、あと1ヶ月位待てば本当に実用的なレベルになりそうな勢いです。
      SDM865であればプロジェクトがGitHubにはあるみたいなのでもしかしたら…

タイトルとURLをコピーしました