2020年08月04日

UEFIで起動するタイプのWindows10(GPTパーティション)を、古いPC(Legacy BIOS) に突っ込んでブートさせる

そもそもいろんな点で何を言っているのかわからないと思いますが、
AIO Bootってのを使えば、新しいHDDをふるいPCに入れて起動できるんじゃないかと思って調べてる: NN Space BLOG-NN空間ブログ
の記事の続きです。

Windows10になって、HDD(SSD)を異なるPCにつなげてもそれなりにドライバー認識して動作するって迄は皆さんやったことがあるかと思いますが、UEFIで起動するタイプの最新のGPT
GPTパーティションブートしているWindows10をふるいレガシーな BIOSマシンに差し込んで起動させるってのは、あきらめていたのではないでしょうか。
私も最初あきらめてました、Bootデバイスが見つからないエラーを見てそう思いました。

⇒ AIOBOOTを使えば、出来ました。

単にできただけじゃなくて、ブートメニューの自動選択をして、Winodws10パーティションを自動で起動するところまで、こぎつけました。

自分で使用するPCならまだしも、人様のパソコンなのでこういうところでの面倒くさいところは全部自動化したかったのだけど、できました。

とりあえず箇条書きにしておきます
あとで画像も足します。

◆大概要
AIOBOOTを導入する
Grubのデフォルトメニューとタイムアウトの設定をする
Cloverのデフォルトメニューとタイムアウトの設定をする

◆小概要
@ AIOBOOTを導入する
※この作業は、導入するPC以外で実施します(なぜなら導入したいPCでは起動しないってところがスタート地点ですので)

元のPCで作業してもよいし、元のPCからディスクをはずして第3者のPCにつないでもよい。
ただし第3者PCにつなぐ場合、PC電源が入っているときにディスクをつないで認識させたほうが良いです。なぜなら、電源ON時にHDDがつながっているとそこから起動開始してしまうことがあるから。そうなるとややこしいことになるので電源OFFの時にHDDをつながないことをお勧め。

起動したPCで、HDDを認識したら
AIO_Boot_Extractor の 0.9.8.17 をダウンロードします。
これより新しいバージョンには HDD(SSD)に導入するオプションが見当たりません
気を付けてください、自動でバージョンアップするメッセージが出たらキャンセルします。
https://sourceforge.net/projects/aioboot/

ディスクの管理メニューで、ディスクの縮小(1回目)を行い、AIOBOOT用のFAT32パーティションを1GB程度確保します。このパーティションの名前はAIOBOOTと名付けておきましょう。

ついでに2回目のディスクの縮小を同時に行い、10MBほど、フォーマットせずに領域のみ確保します(空き領域のままにしておかないように!)名称も不要です。

AIO_Boot_Extractor の 0.9.8.17 を実行
表示言語が日本語は選べないけど、英語を選んでおくとまだわかりやすい。
この記事をご参考:https://www.aioboot.com/en/how-to-use/ (丸投げ)

AIO_Boot_Extractor を起動したら、「AutoInstall Bootloaderはチェックを外す」
「Use Harddisk Driveのチェックを入れる」ドライブの一覧で AIOBOOT(さっき名付けたパーティション)を見つけて選択する。
OK クリックするとインストール。

選択したパーティションに導入後、インストールされたツールが自動起動します。
「新しいバージョンのインストール」を進めてきますがアップデートしないように注意してください。
バージョンアップすると環境が壊れます。気を付けてください。

Bootloaders をクリックし、Grub2, Clover を導入します。10MBほどのパーティションはここで使われます。
・・・・・・まあたぶんこれでよいと思うのですが、ほかの項目も見て自分に必要な環境を入れてください。
HDDを取り外します。

目的のPCにHDD(SSD)を装着し、Grub ブートメニューが出てくることを確認し、
Cloverを選択、Cloverが起動したら 一番右のアイコンでWindowsを起動。

成功したら、次は、ブートメニューの存在を隠すべく次の作業を行います

A Grubのデフォルトメニューとタイムアウトの設定をする
たぶんDドライブとかに以下のファイルがあるので、テキストエディタで編集します。

\aio\grub\grub.cfg
2020-08-02-_225706.png
↑ 自動的に固定で選ぶ一番確実な方法です。
あとは、別の個所にあるTimeout値を2か所ほど 0 に書き換えることで、固定メニュー番号を即実行します。

再起動し、設定どおりならOK。

次に進みます。


B Cloverのデフォルトメニューとタイムアウトの設定をする
\efi\clover\config.plist を編集します。
2020-08-04_002925.png

DefaultVolume の書き方が、どんな文字を書いたらよいのか最初よくわかりませんでした。
この文字列の候補は、Prebootlogを保存すると見つかります。

Cloverの起動画面でF2を押すと、以下のディレクトリにログが保管されます。(1回押せばOKです、連打に注意)
そのままWindowsを起動します。(たぶんDドライブの)\EFI\Clover\misc\preboot.log を開きます。「Checking volume "EFI" 」と書いてある行があれば、その行の 「\HD(2,GPT,」に続く右側の文字列(GUID)がそれっぽい気がします。

あとはTimeout値を0にします。

再起動して確認します。

もはやブートメニューの存在は気にすることがなくなり、特別なことは何もしていないように見えます。

【後片付け】
うまくいっている場合
最終的に AIOBOOT を格納しているパーティションのドライブ名は削除しておきましょう。
不意にいじって壊す恐れがなくてよいです。

※AIOBOOTのバージョンにより手順や、操作内容が異なるかもしれません。
自分が手詰まりしたときのヒントを書いておくつもりで、記事を残しました。


@2020/08/04 00:26 | Comment(2) | 日記

・おすすめ楽天ショップ1:trendyimpact楽天市場店
・おすすめサプリショップ:iHerb.com
・おすすめ楽天ショップ2:上海問屋
Powered by さくらのブログ