文章目录
Hyper-V 的 Linux 优化和常见问题:以 Manjaro 为例
长期使用 WSL
和 WSL2
,无奈其 systemd
问题迟迟不能解决。最近内存增加到了 36G,为了更良好的本地 linux
开发体验和日常 GUI 环境:探索出一套采用 Win10 Host
+ Hyper-V 虚拟机
+ Manjaro Guest
方案,结合 Jetbrains Remote
、VSCode Remote SSH
等插件的开发环境。
本文记载了其中遇到的一系列坑和其解决方案:
命令行启停服务
确保管理员权限,在 cmd
中运行以下命令使用命令行来关闭/开启 hyper-v
:
1 2 3 |
bcdedit /set hypervisorlaunchtype off bcdedit /set hypervisorlaunchtype auto |
第二代 hyper-v 安装 manjaro
注意:该步骤安装显卡驱动仅仅针对当前系统,因此对于 LiveCD 和硬盘版系统各需要执行一次
- 关闭具体虚拟机设置里的安全启动
- 启动,选择后等待卡住
- 使用
ctrl
+alt
+f1/f2/f3
进入 tty pacman -Sy
升级系统pacman -S xf86-video-fbdev
安装正确驱动-
- 如果是
xfce
,则sudo systemctl start lightdm
- 如果是
kde
,sudo systemctl start sddm
(备选ctrl
+alt
+f7
或者startx
)则可能需要完全更新系统
- 如果是
systemctl set-default multi-user.target
可切换到多人启动,systemctl set-default graphical.target
(可选)manjaro 的 ISO 安装在分区阶段失败
注意:该步骤针对某些版本使用自动分区失败的情况使用
在系统菜单中选择分区软件,按步骤进行手动分区,需保证:/boot/efi
挂载点,fat32
格式,至少 300MB
,标记为 esp
、efi
等;/
挂载点,为系统分区,ext4
、xfs
等格式,标记为 root
;可选地,linuxswap
格式的 交换分区
,标记为 swap
,建议大小等同或略大于系统内存
接着进入 ISO 安装,选择手动分区,使用设定好的分区,并对分区格式化
图形模式的分辨率设置
编辑 /etc/default/grub
以修改分辨率选项,添加如 video=hyperv_fb:1920x1080
1 2 |
GRUB_CMDLINE_LINUX_DEFAULT="... video=hyperv_fb:1920x1080" |
更新 GRUB
设置,重启系统
1 2 |
sudo update-grub |
Nat 和静态 IP 设置
在 windows 下的具有管理员权限的 Powershell 中:
1 2 3 4 5 6 7 8 9 10 11 12 |
#新建内网交换机,此步可在 Hyper-V 交换机管理界面中创建 New-VMSwitch -SwitchName 'VM-Switch' -SwitchType Internal -Verbose #获取上一步创建的交换机的接口索引,字段为 ifindex 的值就是索引 Get-NetAdapter #假设上一步中获得的接口索引为20,为接口指定ip和子网 New-NetIPAddress 192.168.10.1 -PrefixLength 24 -InterfaceIndex <ifindex> -Verbose #新建NAT,名称为HyperV-NatNetwork, 网段为 192.168.10.0 New-NetNat -Name VM-Nat -InternalIPInterfaceAddressPrefix 192.168.10.0/24 -Verbose |
将 hyper-v
相关虚拟机交换机绑定为 VM-Switch
在 manjaro
中,编辑 /etc/systemd/network/vm.network
,以每次登录保持静态 IP:
1 2 3 4 5 6 7 |
[Match] Name=eth0 [Network] Address=192.168.10.2/24 Gateway=192.168.10.1 |
允许并重启系统网络服务(修改网络服务的DNS无效):
1 2 3 |
sudo systemctl enable systemd-networkd sudo systemctl restart systemd-networkd |
在 manjaro
中,编辑 /etc/systemd/resolved.conf
,以保持 DNS,并关闭 DNSSEC
来保证国内特殊环境正常的 DNS 访问:
1 2 3 4 |
# 设置dns dns = 114.114.114.114 8.8.8.8 DNSSEC = no |
允许并重启 DNS 服务:
1 2 3 |
sudo systemctl enable systemd-resolved sudo systemctl restart systemd-resolved |
为什么我的按着大神的步骤来的 可是安装完成后 还是进不去系统啊 现在是装完系统黑屏 刚开始是卡在系统引导那里
不知道理解你的意思对不对?你是只做了一次吧。装系统的时候要设置一次,此时你修改的东西是对安装盘的livecd系统起作用的;安装完后,设置没有保存到安装到硬盘的系统中,还要再做一次,就可以了
大神 我按教程来的 老是提示错误,一直不成功 下次进系统 直接乱码的hyper-v的字样 别的都看不到 有没有联系方式好请教你下
您好,已经用您留下的邮件地址回复联系方式,其实站内的”关于-联系我们”也有。
谢谢您的文章,我按照您提供的教程成功把manjaro最新版安装到WIN 10 21H1版的Hypr-V上了!