やりたいことは、日本語だと
これとか、 Windows 上の VirtualBox で実パーティション上の Linux を起動する:中年の主張:So-netブログ
これとか、 Windons7のVirtualBoxでデュアルブート用のraw partitionにあるLinuxを起動させる | @knok blog
にかかれているようなことで、すでに先人が軽々とやってのけたことをやりたいだけなのである。しかしうまくいかない。
状況としては, windowsから見たとき下記のようなパーティションがあり、
PS C:\Users\takhi> Get-Partition DiskPath: \\?\scsi#disk&ven_nvme&prod_samsung_mzvlb1t0#5&2ab59ee0&0&000000#{53f56307-b6bf-11d0-94f2-00a0c91efb8b} PartitionNumber DriveLetter Offset Size Type --------------- ----------- ------ ---- ---- 1 1048576 260 MB System 2 273678336 16 MB Reserved 3 C 290455552 522.43 GB Basic 6 561249255424 426.37 GB Unknown 5 1019064877056 3.81 GB Unknown 4 1023160614912 1000 MB Recovery
ちなみにUbuntuからWindowsを起動するのはできてる。これは普通にできた。
しかし、今windowsを使いたいときというのは都合により物理windowsでしか使えない(使っても意味がない)ソフトウェアを使いつつubuntuを使いたいからであり、かつ多くの場合はubuntuをメインで使いたくて必要なときしかwindowsを使うことはないため、VMではなく物理パーティションのubuntuを起動したいというわけで、逆ができても意味がない。(わかりにくい)
試したこと
シンプルに createrawvmdk -partitions 5,6
boot media が見つからない。だめ
まぁそりゃそのはずで、 物理では UEFI で起動していてそのシステムパーティションは1なのにそれが含まれていないので、起動できるはずがない。という理解であっているのかはよくわかっていない
createrawvmdk -partitions 5,6 で -mbr を渡す
-mbr オプションで MBR を渡すことができるので、Linux を起動してパーティション1 から
dd if=/dev/nvme0p1n1 of=a.mbr bs=512 count=1
で取得した MBR を渡してみる。
が、だめ。
これもそれはそうで、そもそも正常な MBR ではない。
パーティションテーブルを見ても起動フラグがどのパーティションにも立ってないし、というか「Disk Error…(ry」というメッセージが入っておりもはや MBR の体をなしてない。そんなもの食わせたらエラーになるに決まってる
( UEFIハマりポイント - syuu1228's blog を見るとUEFIブートなので、MBR のパーティションテーブルでブートフラグが立っていないのは正しそうである)
createrawvmdk -partitions 1,5,6
Virtual Linux envirionments using real partitions for dual boot system にはそのように書いてある
no bootable mediumでだめ
UEFI有効にして起動すると、 required disk isn't connected or cannot access 的なエラーでリカバリー画面になる
createrawvmdk でパーティションを指定しない
安全のためパーティションを指定して起動しようとしていたが、もはやわからないのでパーティションを指定しなければいいのでは?
UEFI は grub2 を起動していて ubuntu か windows かいつも選択して起動しているので、起動画面が出れば ubuntu を指定して起動できるだろう?
と思ったけどもちろん(?)だめ
これもエラーが発生してリカバリが必要です、な画面になる。
同じだけどログ的には書き込みが権限エラーになっている様子。まぁそりゃそうだろう。というかエラーで済んで良かったという。
あとどうするか?
How to Run an Existing Linux Partition in VirtualBox - YouTube
これはあまりに古めかしいが、内容的には起動ディスクを別途作って起動するのはありえそうではある。
WindowsのVirtualboxで物理ディスクのLinuxを起動しようとしたら失敗した話 | ゲームの小ネタメモ帳 > スポンサー広告 > Linux
この方はparition5がespと書いてるように、UEFI で起動するならやはりシステムパーティションはもう1つ?必要か?
はたまた grub-install とかして MBR で起動できるようにすればいいのか…
とか考えてるけどわからん😇