HyperV加载阿里云镜像
接上一篇文章 Post not found: 阿里云ECS系统镜像导出和本地加载 阿里云ECS系统镜像导出和本地加载,成功将阿里云的ECS系统导出到了本地,生成了vhd格式的磁盘镜像文件,然后使用了virtualbox成功加载了。这一篇,主要是继续解决如何在Hyper-V上加载的问题。我导出的系统是Ubunto 16.04。
1.前提
导出的镜像,要先在VirtualBox中,把vhd磁盘进行加载一遍,登录,然后关闭,这个时候,再次将vhd加载到Hyper-V中,就不会存在稀疏文件无法加载的问题了。
为什么要用Hyper-V而不是直接使用VirtualBox,这个问题因人而异吧。
我是用过程中,Hyper-V兼容性确实差了点,在VirtualBox中可以打开的vhd文件,在Hyper-V中却打不开。
我这几天一直在纠结一个问题,就是虚拟机的性能问题,虚拟机我使用过VM虚拟机,使用过VirtualBox虚拟机,还使用过XenServer安装在裸机上,然后在XenServer上安装虚拟机机作为开发,测试等的测试机,也使用过Hyper-V直接安装虚拟机,对于不进行性能测试的我来说,其实感觉不出来任何的性能上的损失,特别是直接使用Linux系统,不完游戏,不装显卡,大部分都是命令行模式的服务器系统,更加的感觉不到任何的差别,唯一能明显的感觉的就是关于在机械硬盘上和SSD硬盘上安装的系统,对于安装的Window虚拟机才会有明显的差别,机械硬盘去确实会拖慢系统。
1.VirtualBox vs. VMWare vs. Hyper-V:最好的虚拟机是什么? (说了各种虚拟机的特点,除了Virtualbox最慢之外,其他两者没有比较)
2.VirtualBox和hyper-v哪个虚拟机对Linux比较友好? (大部分人站队还是站在了Virtualbox上)
3.VMware与Hyper-V的区别总结
4.Win10自带的Hyper-V性能、兼容性和稳定性怎么样?
5.2021 virtualbox、vmware、hyper-v对比 (这里标题是2021,但是内容确实陈旧的,上面还说VirtualBox不支持硬件虚拟化)
6.Hyper-V的性能影响
7.当前主流的虚拟机性能都可以达到怎样的地步? (有人说性能损失大约是1%,也有人说是百分之二三十,不一样)
8.VM性能的快速测试方法 (UnixBench来进行CPU性能测试、使用iozone来进行文件IO性能测试、使用mbw来测试虚拟机的内存性能、使用iperf来测试虚拟机之间的网络带宽(Mbps)、pgbench是一个针对postgresql的性能测试工具,用这几个工具,就可以测试虚拟机的性能了)
9.浅谈Hyper-v与VMware服务器虚拟化比较 (各有个的优缺点吧。)
虽然我成功在HyperV中加载了vhd文件,但是正常启动的时候,启动画面之后,也就是现实了Ubuntu之后,就黑屏了。于是就有了下面的问题解决之路,挂载iso文件,chroot,进行文件修复,重建gurb等一系列骚操作,结果还是无法解决系统开机之后,直接黑屏的问题。
最后令人难过的更是,我花了好几天,好多天进行问题的修复,最后,竟然通过:Ctrl+Alt+F2,打开了tty2,可以进入系统了,也就是说,问题出在了tty1上,而不是系统无法开机的问题。我这几天的工作,都在干些什么呢?简直让人抓狂啊。
2.导入
(1) 新建虚拟机,选择第一代
(2) 指定使用现有的虚拟硬盘,设置CPU(处理器)数量32
(3) 启动虚拟机
(4) Ctrl+Alt+F2 进入tty2,配置系统,或者使用其他的远程连接工具
问题
(1) SMBus base address uninitialized - upgrade BIOS or use force_addr=0xaddr
于是我只能进入恢复模式,在启动时,持续按住shift键,选择启动的系统,进入Recoce模式,后面还有一个错误:no valid rapl domains fond in package 0。
1.在启动Ubuntu时VirtualBox,SMBus/BIOS错误 (有好几种解决方法,但是我觉得都不是很靠谱)
2.ubuntu启动失败黑屏解决方案 (一旦启动后,在有读条的时候按住左shitf键即可,注意一定要赶在在启动一开始时,另外虚拟机的情况下要注意按键前用鼠标点击屏幕进入虚拟机,否则识别为虚拟机外部的输入)
3.VBox中创建好Ubuntu后启动失败,出现intel_rapl no valid rapl domains found in package 0 (.vbox文件用记事本打开并找到PAE这个标签,把false修改为true,重新启动)
4.关于hyper-v创建的虚拟机开机黑屏只有光点闪动 (这里时有一个点在闪动,我是一点都不闪,直接黑屏。连接黑屏,xshell仍然正常使用)
5.使用Hyper-V安装Ubuntu16.04过程填坑总结 (这几个坑,我还没遇到。Hyper-v创建的虚拟交换机、手工添加DNS和IP)
系统修复
将系统安装镜像以DVD的形式插入系统,从DVD系统盘启动,选择Try Ubuntu,进入系统,打开命令行工具
1 | ## 挂载根本录到/mnt上 |
执行了上面的一系列操作之后,还是不行。
1.修复损坏的 Ubuntu 系统 (这是能进系统的时候,执行的系统修复)
6.GNU/Linux 用 Live CD 修复 Debian/Ubuntu 系统 (我觉得这个系统修复倒是讲的很明白,但是也还会有不同的地方)
7.Ubuntu系统修复、系统安装与系统备份 (主要还是讲了虚拟机的创建)
chroot之后无法解析DNS
编辑
1 | ## 编辑 |
1.ArchLinux下安装Gentoo,请教chroot后如何连接无线上网?
2.Ubuntu换源后仍然无法解析域名的解决方法 (不起作用的)
3.【亲测有效】Ubuntu18.04 sudo apt update无法解析域名的解决方案 (有没有效,需要自己测试一下)
4.ubuntu内核损坏或误删除时的系统修复 (预修复的系统是ubuntu版本是16.04,虽然命令都有了,但是我看不懂描述。还有一个地方就是安装内核:apt-get install linux-image-generic)
问题
(1) error symbol‘grub_calloc’not found
解决方案:
- 首先你需要一张ubuntu的live CD或者自启动u盘进入live CD中
- 选择体验ubuntu而不是直接安装
- 打开终端
1 | sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update |
- 选择推荐修复,完成就可以了
- 重启电脑
1.linux系统安装 ubuntu error symbol‘grub_calloc’not found (写的有点简单了)
2.ubuntu 20.04 grub symbol ‘grub_calloc’ not found (備忘録) (日文的,但是命令倒是可以借鉴)
3.Ubuntu 16.04 引导修复 boot repair (按这个操作,就可以了)
4.Ubuntu 16.04利用boot repair修复grub2启动项
(2) 无法解析主机:ubuntu
在/etc/hosts文件中,添加:127.0.1.1 ubuntu,解决无法解析ubuntu主机的问题
(3) ubuntu报错:W: Target Packages
安装包的时候,弹出这个警告,编辑:/etc/apt/sources.list 文件把重复的删除就可以了
1.ubuntu报错:W: Target Packages (restricted/binary-amd64/Packages) is configured multiple times in /e… (删除重复项)
(4) 无法安装boot-repair包
在修复grub启动项的时候,需要安装:boot-repair 这么一个软件包,但是我添加了软件源,还是无法安装。
1 | ## 安装源 |
我手工添加了软件源,还是不行
1 | ## 编写软件源 |
1.Ubuntu “E: Unable to locate package“错误解决办法
2.add-apt-repository ppa:yannubuntu/boot-repair (有错误不管,但是无法安装)
3.Cannot add PPA: ‘ppa:yannubuntu/boot-repair’ (我手工添加了ppa也是不行)
(4) blk_update_request:I/O
加载导出的vhd之后,以及在virtualbox中加载过了,导入到hy之后,还是无法打开,报错信息如下:
真是奇了怪了,第一次遇到过这个问题。
【尝试操作】
在这四个内核启动界面中,只有最后一个内核可以正常启动。
我先是进入了第三四内核,登录,然后执行了下面的命令:
1 | echo "blacklist floppy" | sudo tee /etc/modprobe.d/blacklist-floppy.conf |
重启之后,第一个内核还是无法启动。
1.磁盘blk_update_request: I/O error
2.win10&hyper上装Ubuntu出现没有找到dev fd0, sector 0 错误 把默认启动由cd改为磁盘,这个没有用
3.U盘安装CentOS时停在Reached target Basic System的解决方案
4.blk_update_request:I / O错误,dev fd0,扇区0
对于在Microsoft Hyper-V下在VM中运行Ubuntu的错误进行搜索之后来到这里的任何人,这是因为默认情况下,软盘驱动器已添加到VM配置中,但未正确激活。上面的答案仍然可以解决问题,但是请先检查是否在VM配置中包含软盘设备,然后在应用此修复程序之前尝试将其删除。我有15件令人毛骨悚然的东西,到目前为止,其中5件是通过使用Hyper-V管理器从Hyper-V机器配置中删除胭脂软盘修复的。
5.To disable fd0 permanently
6.blk_update_request: I/O error, dev fd0, sector 0
7.How to completely disable floppy in Ubuntu 14.04?
【解决方法】
很多的文章都是用了解决 blk_update_request的方法,也就是禁用 软盘启动项,我尝试过不可以。换一个想法,既然有一个内核可以启动,那么是不是内核的问题呢?
我干脆就直接升级内核好了,我原先的内核是:kernel-3.10.0-957.el7.x86_64 ,因为是阿里云的镜像,所以在升级内核的时候,我遇到了下面的问题:
(1) 不能解决阿里云镜像源的问题:Could not resolve host:,我设置了 /etc/resolv.conf,不起作用;我重新设置了清华的镜像源,重新设置了/etc/yum.repo.d文件夹下的CentOS-Base.repo,还是不行,还是用了阿里的源;最后我删除了 epel.repo 这个文件,才彻底的断了阿里的源
(2) 安装ELRepo仓库的yum源
1 | yum install -y https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm |
经过内核的升级,最后直接用新的内核就可以直接启动了。