dd された Windows パーティションを起動できません

dd された Windows パーティションを起動できません

昨日までは、パーティション スキーマに満足していました。

Device         Boot   mounted at    
/dev/nvme0n1p1 *      /boot/efi
/dev/nvme0n1p2        swap
/dev/nvme0n1p3        /             ext4
/dev/nvme0n1p6        /media/Volume ext4
/dev/nvme0n1p5        /home         ext4

私も仮想ボックス付きの Windows 10 を使用していますが、vdi は /home のどこかにあります。

今、私はVDIのサイズを拡大せざるを得なくなっていますが、可能ではありますが、/homeに100GBのVDIファイルを置きたくありません。Windowsをネイティブに起動できるというアイデアはありがたいですし、ディスクには100GBを超えるパーティション化されていないスペースがあるので、

  1. 作成された生画像:VBoxManage internalcommands converttoraw Win7.vdi win10.img
  2. 分析された出力:parted win10.img unit B print

Number Start End Size Type File system Flags 1 1048576B 105906175B 104857600B primary ntfs boot 2 105906176B 54022924799B 53917018624B primary ntfs 3 54023684096B 54522806271B 499122176B primary ntfs diag

  1. /dev/nvme0n1p7gpartedを使用してフォーマットされていないパーティションを作成しました
  2. win10.img から 2 番目のパーティションをコピーしました:sudo dd if=.local/win10.img of=/dev/nvme0n1p7 skip=105906176 count=53917018624 iflag=skip_bytes,count_bytes

今、 でマウントするとsudo mount /dev/nvme0n1p7 /media/x、Windows が適切にシャットダウンされなかったため ro でマウントする必要があるというエラーが表示されます。 を使用することでこれを修正しましたntfsfix。 には安定した Windows がインストールされているようです/dev/nvme0n1p7

残念ながら、Virtual Box も GRUB も使用して起動できません。VirtualBox の場合、 を使用して raw ディスクを作成しましたVBoxManage internalcommands createrawvmdk -filename win10.vmdk -rawdisk /dev/nvme0n1 -partitions 7。vbox を起動すると、黒い画面が表示されて終わりです。GRUB の場合、 を編集しました/etc/grub.d/40_custom:

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.

menuentry "Windows 10 (loader) (on /dev/nvme0n1p7)" {
 insmod part_msdos
 insmod ntfs
 set root='(hd0,msdos7)'
 chainloader +1
}

を実行すると、sudo update-grubが表示されますerror: not a valid root device

GRUB は Windows を直接起動することはできず、専用の Windows ブートローダー (チェーンローダー) のみを起動すると読みました。問題はそれがないことだと思います。

質問: Windows ブートローダーを入手してインストールするにはどうすればいいですか? vbox を使用してパーティションを起動するにはどうすればいいですか?

答え1

問題は解決しませんでしたが、システム全体を再インストールしました(最初にWindows 10をインストールし、次にライブLinuxからWindowsパーティションを縮小してArch用の新しいパーティションを作成し、そこにArchをインストールしました)。再検索、WindowsまたはArchを起動できます。Archからは、VirtualBoxでWindowsを起動できます。生ディスク

最も困難な問題は次のとおりです。

  1. どのパーティションを使用すればよいですか?Windows パーティション。実際には 4 つあります。

    • 基本データ パーティション (ntfs、500MiB)
    • EFI システム パーティション (fat32、100MiB)
    • Microsoft 予約パーティション (?、16MiB)
    • 基本データ パーティション (ntfs、100GiB)

    解決策: 4 つすべて ( VBoxManage internalcommands createrawvmdk -filename /whatever/you/want.vmdk -rawdisk /dev/nvme0n1 -partitions 1,2,3,4 -relative) を使用します。すべてが必要かどうかはわかりませんが、機能します。

  2. Virtual Box が起動しません。すべての情報 (上記のすべてのパーティション) があるにもかかわらず、efi モードを有効にします ( Settings-> System-> Enable EFI (special OSes only))。

  3. 権限の問題: ユーザーをdisk-group:に追加しますsudo usermod -a -G disk $USER

関連情報