时间:2023-07-14 12:27:01 | 来源:网站运营
时间:2023-07-14 12:27:01 来源:网站运营
在 Linux 上将你的 Windows 系统转换为虚拟机 | Linux 中国:下面是我如何配置 VirtualBox 虚拟机以在我的 Linux 工作站上使用物理的 Windows 操作系统。
/mnt
。我使用 dd
命令来创建镜像。/etc/group
中创建一个 vboxusers
组。我把打算运行这个虚拟机的用户添加到 /etc/group
中的 vboxusers
和 disk
组。将相同的用户添加到 disk
组是很重要的,因为 VirtualBox 是以启动它的用户身份运行的,而且还需要直接访问 /dev/sdx
特殊设备文件才能在这种情况下工作。将用户添加到 disk
组可以提供这种级别的访问权限,否则他们就不会有这种权限。root.vboxusers
的所有权和 775
的权限。我使用 /vms
用作该目录,但可以是任何你想要的目录。默认情况下,VirtualBox 会在创建虚拟机的用户的子目录中创建新的虚拟机。这将使多个用户之间无法共享对虚拟机的访问,从而不会产生巨大的安全漏洞。将虚拟机目录放置在一个可访问的位置,可以共享虚拟机。/vms
目录。Windows
,“ 版本(Version)”应该设置为 Windows 10 64-bit
。为虚拟机设置一个合理的内存量,但只要虚拟机处于关闭状态,以后可以更改。在安装的“ 硬盘(Hard disk)”页面,我选择了 “ 不要添加虚拟硬盘(Do not add a virtual hard disk)”,点击“ 创建(Create)”。新的虚拟机出现在VirtualBox 管理器窗口中。这个过程也创建了 /vms/Test1
目录。lshw
命令来发现 Windows 磁盘的设备分配情况。在本例中,代表整个存储设备的设备是 /dev/sdb
。# lshw -short -class disk,volumeH/W path Device Class Description=========================================================/0/100/17/0 /dev/sda disk 500GB CT500MX500SSD1/0/100/17/0/1 volume 2047MiB Windows FAT volume/0/100/17/0/2 /dev/sda2 volume 4GiB EXT4 volume/0/100/17/0/3 /dev/sda3 volume 459GiB LVM Physical Volume/0/100/17/1 /dev/cdrom disk DVD+-RW DU-8A5LH/0/100/17/0.0.0 /dev/sdb disk 256GB TOSHIBA KSG60ZMV/0/100/17/0.0.0/1 /dev/sdb1 volume 649MiB Windows FAT volume/0/100/17/0.0.0/2 /dev/sdb2 volume 127MiB reserved partition/0/100/17/0.0.0/3 /dev/sdb3 volume 236GiB Windows NTFS volume/0/100/17/0.0.0/4 /dev/sdb4 volume 989MiB Windows NTFS volume[root@office1 etc]#
VirtualBox 不需要把虚拟存储设备放在 /vms/Test1
目录中,而是需要有一种方法来识别要从其启动的物理硬盘。这种识别是通过创建一个 *.vmdk
文件来实现的,该文件指向将作为虚拟机存储设备的原始物理磁盘。作为非 root 用户,我创建了一个 vmdk 文件,指向整个 Windows 设备 /dev/sdb
。$ VBoxManage internalcommands createrawvmdk -filename /vms/Test1/Test1.vmdk -rawdisk /dev/sdbRAW host disk access VMDK file /vms/Test1/Test1.vmdk created successfully.
然后,我使用 VirtualBox 管理器 “ 文件(File) => 虚拟介质管理器(Virtual Media Manager)” 对话框将 vmdk 磁盘添加到可用硬盘中。我点击了“ 添加(Add)”,文件管理对话框中显示了默认的 /vms
位置。我选择了 Test1
目录,然后选择了 Test1.vmdk
文件。然后我点击“ 打开(Open)”,Test1.vmdk
文件就显示在可用硬盘列表中。我选择了它,然后点击“ 关闭(Close)”。Test1vmdk
虚拟磁盘文件。我选择了这个文件,并点击了“ 选择(Choose)”按钮。这个设备现在显示在连接到 “Test1 VM” 的存储设备列表中。这个虚拟机上唯一的其他存储设备是一个空的 CD/DVD-ROM 驱动器。chntpw
,它的意思大概是:“更改 NT 的密码”。# dnf -y install chntpw
我关闭了虚拟机的电源,然后将 /dev/sdb3
分区挂载到 /mnt
上。我确定 /dev/sdb3
是正确的分区,因为它是我在之前执行 lshw
命令的输出中看到的第一个大的 NTFS 分区。一定不要在虚拟机运行时挂载该分区,那样会导致虚拟机存储设备上的数据严重损坏。请注意,在其他主机上分区可能有所不同。/mnt/Windows/System32/config
目录。如果当前工作目录(PWD)不在这里,chntpw
实用程序就无法工作。请启动该程序。# chntpw -i SAMchntpw version 1.00 140201, (c) Petter N HagenHive <SAM> name (from header): </SystemRoot/System32/Config/SAM>ROOT KEY at offset: 0x001020 * Subkey indexing type is: 686c <lh>File size 131072 [20000] bytes, containing 11 pages (+ 1 headerpage)Used for data: 367/44720 blocks/bytes, unused: 14/24560 blocks/bytes.<>========<> chntpw Main Interactive Menu <>========<>Loaded hives: <SAM> 1 - Edit user data and passwords 2 - List groups - - - 9 - Registry editor, now with full write support! q - Quit (you will be asked if there is something to save)What to do? [1] ->
chntpw
命令使用 TUI(文本用户界面),它提供了一套菜单选项。当选择其中一个主要菜单项时,通常会显示一个次要菜单。按照明确的菜单名称,我首先选择了菜单项 1
。What to do? [1] -> 1===== chntpw Edit User Info & Passwords ====| RID -|---------- Username ------------| Admin? |- Lock? --|| 01f4 | Administrator | ADMIN | dis/lock || 03eb | john | ADMIN | dis/lock || 01f7 | DefaultAccount | | dis/lock || 01f5 | Guest | | dis/lock || 01f8 | WDAGUtilityAccount | | dis/lock |Please enter user number (RID) or 0 to exit: [3e9]
接下来,我选择了我们的管理账户 john
,在提示下输入 RID。这将显示用户的信息,并提供额外的菜单项来管理账户。Please enter user number (RID) or 0 to exit: [3e9] 03eb================= USER EDIT ====================RID : 1003 [03eb]Username: johnfullname:comment :homedir :00000221 = Users (which has 4 members)00000220 = Administrators (which has 5 members)Account bits: 0x0214 =[ ] Disabled | [ ] Homedir req. | [ ] Passwd not req. |[ ] Temp. duplicate | [X] Normal account | [ ] NMS account |[ ] Domain trust ac | [ ] Wks trust act. | [ ] Srv trust act |[X] Pwd don't expir | [ ] Auto lockout | [ ] (unknown 0x08) |[ ] (unknown 0x10) | [ ] (unknown 0x20) | [ ] (unknown 0x40) |Failed login count: 0, while max tries is: 0Total login count: 47- - - - User Edit Menu: 1 - Clear (blank) user password 2 - Unlock and enable user account [probably locked now] 3 - Promote user (make user an administrator) 4 - Add user to a group 5 - Remove user from a group q - Quit editing user, back to user selectSelect: [q] > 2
这时,我选择了菜单项 2
,“ 解锁并启用用户账户(Unlock and enable user account)”,这样就可以删除密码,使我可以不用密码登录。顺便说一下 —— 这就是自动登录。然后我退出了该程序。在继续之前,一定要先卸载 /mnt
。01f4
)。如果它不是作为组织管理账户,我可以删除或更改该账户的密码。还要注意的是,这个过程也可以从目标主机上运行临场 USB 来执行。*.mab
文件在 Windows 驱动器上包含的信息很少。我甚至用 Linux 的 find
命令来定位原始存储设备上的所有。/mnt
上,得到的信息是该分区已经被 Windows 不正确地关闭(是的,在我的 Linux 主机上),并且它已经修复了不一致的地方。即使是 Windows 通过其所谓的“恢复”模式多次重启后也做不到这一点。chntpw
工具的输出数据中发现了一些线索。出于安全考虑,我删掉了主机上显示的其他一些用户账号,但我从这些信息中看到,所有的用户都是管理员。不用说,我也改了。我仍然对我遇到的糟糕的管理方式感到惊讶,但我想我不应该这样。关键词:转换,虚拟,中国,系统