国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

Linux|Centos|Ubuntu|系統(tǒng)進(jìn)程|Fedora|注冊(cè)表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服務(wù)器之家 - 服務(wù)器系統(tǒng) - Ubuntu - ubuntu下kvm 命令行安裝64位ubuntu報(bào)"Couldn't find hvm kernel for Ubuntu tree."的問(wèn)題分析

ubuntu下kvm 命令行安裝64位ubuntu報(bào)"Couldn't find hvm kernel for Ubuntu tree."的問(wèn)題分析

2021-12-03 17:42ruo_yu Ubuntu

這篇文章主要介紹了ubuntu下kvm 命令行安裝64位ubuntu報(bào)"Couldn't find hvm kernel for Ubuntu tree."的問(wèn)題分析的相關(guān)資料,需要的朋友可以參考下

1.安裝ubuntu時(shí)使用的virt-install的配置:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
virt-install \
--name test4 \
--ram 1024 \
--disk path=/data/01_ubuntu/ubuntu4.img,size=6 \
--vcpus 1 \
--hvm \
--os-type linux \
--network network=default \
--os-variant ubuntuquantal \
--graphics none \
--console pty,target_type=serial \
--location /data/00_osfile/ubuntu-16.04.1-server-amd64.iso \
--extra-args 'console=ttyS0,115200n8 serial'

報(bào)錯(cuò)如下:

ERROR Couldn't find hvm kernel for Ubuntu tree.
Domain installation does not appear to have been successful.

通過(guò)查資料發(fā)現(xiàn),virt-install可以開debug模式的,加入--debug選項(xiàng)即可

2.virt-install的debug模式得到的結(jié)果:

?
1
2
3
4
5
6
[Wed, 30 Nov 2016 11:16:07 virt-install 26900] DEBUG (urlfetcher:268) local hasFile: Couldn't find /var/lib/libvirt/boot/virtinstmnt.xPL9y1/current/images/MANIFEST
[Wed, 30 Nov 2016 11:16:07 virt-install 26900] DEBUG (urlfetcher:89) Fetching URI: /var/lib/libvirt/boot/virtinstmnt.xPL9y1/install/netboot/version.info
Retrieving file version.info... | 58 B 00:00:00
[Wed, 30 Nov 2016 11:16:07 virt-install 26900] DEBUG (urlfetcher:1164) Didn't find any known codename in the URL string
[Wed, 30 Nov 2016 11:16:07 virt-install 26900] DEBUG (urlfetcher:511) Detected distro name=Ubuntu osvariant=linux
[Wed, 30 Nov 2016 11:16:07 virt-install 26900] DEBUG (urlfetcher:268) local hasFile: Couldn't find /var/lib/libvirt/boot/virtinstmnt.xPL9y1/install/netboot/ubuntu-installer/i386/linux

這里就可以看出問(wèn)題了,明明是64位的操作系統(tǒng),為什么去找./install/netboot/ubuntu-install/i386/linux的路徑

我們?nèi)タ纯磇so文件中正確的路徑是什么:

?
1
2
3
4
[root@11.102 01_ubuntu]$mount /data/00_osfile/ubuntu-16.04.1-server-amd64.iso /mnt
mount: /dev/loop2 is write-protected, mounting read-only
[root@11.102 01_ubuntu]$ls /mnt/install/netboot/ubuntu-installer/amd64/linux
/mnt/install/netboot/ubuntu-installer/amd64/linux

基本確定,如果將路徑的i386改為amd64,virt-install安裝就沒有問(wèn)題。

debug模式剩余的log:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
[Wed, 30 Nov 2016 11:16:07 virt-install 26900] DEBUG (urlfetcher:320) Cleaning up mount at /var/lib/libvirt/boot/virtinstmnt.xPL9y1
[Wed, 30 Nov 2016 11:16:07 virt-install 26900] DEBUG (cli:305) File "/usr/share/virt-manager/virt-install", line 1077, in <module>
sys.exit(main())
File "/usr/share/virt-manager/virt-install", line 1071, in main
start_install(guest, continue_inst, options)
File "/usr/share/virt-manager/virt-install", line 775, in start_install
fail(e, do_exit=False)
File "/usr/share/virt-manager/virtinst/cli.py", line 305, in fail
logging.debug("".join(traceback.format_stack()))
[Wed, 30 Nov 2016 11:16:07 virt-install 26900] ERROR (cli:306) Couldn't find hvm kernel for Ubuntu tree.
[Wed, 30 Nov 2016 11:16:07 virt-install 26900] DEBUG (cli:308)
Traceback (most recent call last):
File "/usr/share/virt-manager/virt-install", line 747, in start_install
dom = guest.start_install(meter=meter, noboot=options.noreboot)
File "/usr/share/virt-manager/virtinst/guest.py", line 491, in start_install
self._prepare_install(meter, dry)
File "/usr/share/virt-manager/virtinst/guest.py", line 304, in _prepare_install
self.installer.prepare(self, meter)
File "/usr/share/virt-manager/virtinst/installer.py", line 200, in prepare
self._prepare(guest, meter)
File "/usr/share/virt-manager/virtinst/distroinstaller.py", line 451, in _prepare
self._prepare_kernel_url(guest, fetcher)
File "/usr/share/virt-manager/virtinst/distroinstaller.py", line 360, in _prepare_kernel_url
kernel, initrd, args = store.acquireKernel(guest)
File "/usr/share/virt-manager/virtinst/urlfetcher.py", line 603, in acquireKernel
{"distro": self.name, "type" : self.type})
RuntimeError: Couldn't find hvm kernel for Ubuntu tree.

3.修改virt-manager代碼:

通過(guò)上面的報(bào)錯(cuò),發(fā)現(xiàn)virt-manager使用python寫的!正好想看什么源碼來(lái)自,這個(gè)正好!

通過(guò)對(duì)virt-manager這一項(xiàng)目一步步debug,找到問(wèn)題:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[root@11.102 ~]$grep -n -A22 "class DebianDistro" /usr/share/virt-manager/virtinst/urlfetcher.py
1076:class DebianDistro(Distro):
1077- # ex. http://ftp.egr.msu.edu/debian/dists/sarge/main/installer-i386/
1078- # daily builds: http://d-i.debian.org/daily-images/amd64/
1079- name = "Debian"
1080- urldistro = "debian"
1081- os_variant = "linux"
1082-
1083- def __init__(self, *args, **kwargs):
1084- Distro.__init__(self, *args, **kwargs)
1085-
1086- # Pull the tree's arch out of the URL text
1087- self._treeArch = 'i386'
1088- for pattern in ["^.*/installer-(\w+)/?$",
1089- "^.*/daily-images/(\w+)/?$"]:
1090- arch = re.findall(pattern, self.uri)
1091- if arch:
1092- self._treeArch = arch[0]
1093- break
1094-
1095- self._url_prefix = 'current/images'
1096- self._installer_dirname = self.name.lower() + "-installer"
1097- self._set_media_paths()

發(fā)現(xiàn)基于Debian的系統(tǒng),__init__方法中self._treeArch初始化時(shí)是i386,估計(jì)是virt-manager讀取ubuntu的iso文件時(shí),出了什么問(wèn)題,沒讀出該系統(tǒng)是x86_64類型,將該值改為amd64,就可以了。

再次運(yùn)行virt-install,成功進(jìn)入ubuntu安裝界面!

附:CentOS命令行使用KVM安裝64位ubuntu報(bào)"Couldn't find hvm kernel for Ubuntu tree."的解決辦法

grep -n -A21 'class DebianDistro' /usr/lib/python2.6/site-packages/virtinst/OSDistro.py 命令可以查看DebianDistro類的__init__方法

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[root@2 virtinst]$grep -n -A21 'class DebianDistro' /usr/lib/python2.6/site-packages/virtinst/OSDistro.py
892:class DebianDistro(Distro):
893- # ex. http://ftp.egr.msu.edu/debian/dists/sarge/main/installer-i386/
894- # daily builds: http://people.debian.org/~joeyh/d-i/
895-
896- name = "Debian"
897- os_type = "linux"
898-
899- def __init__(self, uri, arch, vmtype=None, scratchdir=None):
900- Distro.__init__(self, uri, arch, vmtype, scratchdir)
901- if uri.count("installer-i386"):
902- self._treeArch = "i386"
903- elif uri.count("installer-amd64"):
904- self._treeArch = "amd64"
905- else:
906- self._treeArch = "i386"
907-
908- if re.match(r'i[4-9]86', arch):
909- self.arch = 'i386'
910-
911- self._installer_name = self.name.lower() + "-" + "installer"
912- self._prefix = 'current/images'
913- self._set_media_paths()

改變__init__方法里的else:條件下面的一行,將"i386"改為"amd64"即可

?
1
2
- self._treeArch = 'i386'
+ self._treeArch = 'amd64'

原文鏈接:http://www.cnblogs.com/ruo-yu/archive/2016/11/30/6117134.html

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 91精品国产综合久久福利软件 | 亚洲 中文 欧美 日韩 在线观看 | 日韩特一级 | 亚洲精品在线视频观看 | 在线观看av网站永久 | 国产精品一区二区三区免费视频 | 成人精品久久久 | 成人美女av | 欧美在线观看一区 | 日日嗨av一区二区三区四区 | 久久久国产精品 | 中文区永久区 | 午夜精品久久久久久久久 | 综合久久久久 | 中文字幕二区 | 天天操狠狠操 | 久久国产欧美日韩精品 | 欧美a级网站 | 亚洲精品久久久久久久久久久 | 亚洲国产精品久久久久秋霞不卡 | 黄色国产电影 | 国产精品久久久久久久久晋中 | 日韩免费在线观看 | 99这里只有精品视频 | 天天天干夜夜夜操 | 北条麻妃一区二区免费播放 | 久久精品播放 | 精品国产乱码久久久久久牛牛 | 伊人网在线视频免费观看 | 亚洲欧洲在线观看 | 久艹在线 | 欧美老妇交乱视频 | 亚洲色图50p| 精品日韩一区二区 | 亚洲成人av在线 | 国产精品视频一二三 | 一区二区三区在线免费观看 | 91高清在线| 欧美区视频 | 视频一区二区三区中文字幕 | 欧美在线视频a |