2016年6月18日土曜日

Windows8.1 ARROWS Tab USBメモリからの起動に挑戦!

前回、外部ドライブから起動はできなかったけど、とりあえずバックアップはできているだろうということでよしとした

しかし、なんとか、持ち運びが簡単な USBメモリにタブレット本体の Windows8.1 を丸のままコピーして、そこから起動して遊んでみたい!
ネットで調べてみると、どうも基本的には、USBメモリから Windows の起動ができないらしい
DOS や Linux は起動できる(はず)のに不便だな…
(windows8.1 Enterprise Edition と Windows To Go 対応メモリの組み合わせであればできるらしいけどどちらにも縁がない)

でも、なんとか、通常のUSBメモリを無理矢理にでも HDD として認識させることができたら、HDD革命/CopyDrive でディスクコピーして、もしかしたら起動させることができるんじゃないか

しつこくネットで調べていると、一般的に USBメモリを 固定ドライブ と認識させる方法はどうやら4つほどあるようだ
1 だましの ドライバーをかまして USBメモリを固定ディスクに見せかける
2 レジストリをいじくって USBメモリを固定ディスクに見せかける
3 USBメモリを起動ドライブの一部に見せかける
4 VHD(仮想ディスク)を作成する

1については、Windows7 まではうまく起動できたようだけど、Windows8 以降ではデジタル署名の無いデバイスの組込はうまくいかないようなので、パス
2については、レジストリを直接いじるのはなんか気色悪いし、アップデートするたびに元に戻るそうなので、これもパス
3については、シンボリックリンクやマウントポイントを作成することで USBメモリをCドライブの一部に見せかけることができるらしいけど、本体とは別の起動ドライブとして扱えないので、これまたパス(要するに USBメモリを刺しているときはそこから Windows8.1 を起動させ、USBメモリを刺していないときは本体の Windows(後日 Windows 10 にアップデート予定)を起動させたい)

残った手段は USBメモリに作成した VHD からブートする方法
VHD をマウントすれば固定ディスクとして認識されるので、HDD革命/CopyDrive でディスクコピーができるはず

左下のWindowsボタンを長押しして、「ディスクの管理」を開き USBメモリを NTSF にフォーマットしておく
メニューバーの「操作」から「VHDの作成」
場所を指定しろといいながら、ファイル名までフルパスで指定しないと次に進めないのね…
わかりにくいわ!
容量的に VHD でもよいけど、VHDX の方がエラーに強いらしいので、VHDX を選択
可変容量だと不安定になりやすいそうなので、固定容量を選択
ハードディスクのサイズは USBメモリいっぱいだと不安定になりやすいそうなので、64GB の容量の8割程度の 50GB にしておく(デフォルトの単位はMBなのね…最初は気づかず領域確保は一瞬だわ、GPT フォーマットはできないわでビックリしたわ!)
50GB のVHDX の作成は、さすがに時間がかかる
VHDX の作成後、ディスクの管理画面を一度閉じて、開き直すと初期化を促す画面が表示される
パーティションスタイルは、前回 MBR でドライブがアホほどできて失敗したので、GPT でフォーマット
右クリックで「新しいシンプルボリューム」を作成
めんどいから全部デフォルトのまま
ドライブ文字は、VHDX をDドライブとして、USBドライブをEドライブにする(個人の好み)
ちなみに、ディスクのシンボルマークが水色の場合は仮想ディスクを表しているとのこと

システムを再起動すると…
へっ、Dドライブが消えた
Eドライブの中に VHDX(仮想Dドライブ)があるので、ダブルクリックして復活

HDD革命/CopyDrive で前回失敗した MBR ではなく GPT を選択して無事ディスクコピーができた

しかし、このままでは再起動のたびに VHDX の仮想Dドライブがアンマウントされ、VHDX からの起動どころではない
自動で仮想ドライブをマウントさせる方法はいくつかあるようだけど、それだけでは、仮想ディスクから起動させることはできない
どうも VHDX からブートさせるにはブートセレクターにおまじないをしないといけないらしい

管理者権限でコマンドプロンプトを立ち上げ
takeown /F (VHDX フルパス名:例では win8.vhdx)
例:>takeown /F E:\win8.vhdx
これ(アクセス権の確保)をしておかないと何かあったときにとっても悲惨な目に遭うらしい

次は、bcd(ブート構成データ)なるものを編集して、VHDX から起動する選択メニューを表示させる
コマンドプロンプトから
bcdedit /copy {current} /d "起動メニューに表示させる名称:例では「VHDX Windows8.1」 "
例:>bcdedit /copy {current} /d "VHDX Windows8.1 "
「エントリは{○○○○-○○○○~○○○○-○○○○}に正しくコピーされました」と表示されるので、{ } の中の英数字が ID になるので、再入力するのがめんどくさいからコピーしておこうとして
ハマった!

タブレットではどうしたらいいのかよくわからない!
実は、長タップして表示されたメニューから「範囲選択」を選び、
ドラッグして範囲指定をした後
ソフトウェアキーボードの「Enter」キーでコピー、貼り付けたいところで長タップして表示されたメーニューから「貼付」を選ぶことでペーストできるんだけど、これができるまでかなり試行錯誤することになった…(疲れた…)

気をとり直して…bcd へのエントリーを続ける
bcdedit /set {さきほどの英数字} device vhd=(フルパスファイル名:ただしドライブレターとコロンは[ ]で囲う)
bcdedit /set {さきほどの英数字} osdevice vhd=(フルパスファイル名:ただしドライブレターとコロンは[ ]で囲う)
例:bcdedit /set {○○○○-○○○○~○○○○-○○○○} device vhd=[E:]\win8.vhdx
 :bcdedit /set {○○○○-○○○○~○○○○-○○○○} osdevice vhd=[E:]\win8.vhdx

これで再起動をすると、起動選択画面が表示されるはず
再起動をかけてみると
お~!
VHD windows8.1 の選択画面が表示された♪
いいぞ!!!

タップしていざ VHDX から起動!
あれっ?…
エラーのループに陥った…
VHDX ブートはしかけてるっぽいのに、何があかんのやろ…

やっぱり単純なコピーではうまくいかないのかねぇ…
と ほ ほ ほ ほ …

さて、どうしたものか…

0 件のコメント:

コメントを投稿