無法啟動 dd'ed windows 分區

無法啟動 dd'ed 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/nvme0n1p7使用 gparted建立了一個未格式化的分割區
  2. 從 win10.img 複製第二個分割區: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

不幸的是,我無法啟動它,既不能使用虛擬盒子,也不能使用 grub。對於 VirtualBox,我使用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引導程式(chainloader)。我認為我的問題是我沒有它。

我的問題: 如何取得並安裝 Windows 引導程式?如何使用 vbox 啟動該分割區?

答案1

我沒有解決問題,而是重新安裝了整個系統(先安裝Windows 10,然後從即時Linux縮小Windows分割區並為Arch建立新分割區,然後將Arch安裝到其中)。使用酶標儀,我可以啟動到 Windows 或 Arch。從 Arch 中,我可以使用 VirtualBox 啟動 Windows原始磁碟

最難的問題是:

  1. 我應該使用什麼分區?那沒有窗戶分區。相反,有 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. 虛擬盒無法啟動。即使它具有所有資訊(上面提到的所有分區):啟用 efi 模式 ( Settings-> System-> Enable EFI (special OSes only))。

  3. 權限問題:將您的使用者加入到disk-group:中sudo usermod -a -G disk $USER

相關內容