xen安装ubuntu,ubuntu20.04下载教程
如何安装XEN
对于Fedora系统,它的程序包管理器是yum,将用它从预编译好的程序包来安装Xen。实际上,使用yum安装Xen是一件相当轻松的工作,具体过程如下所示:
1、通过下列命令来安装Xen内核和有关软件:
yum install kernel-xen xen
这一命令将下载并安装以下程序包及其依赖包:
l kernel-xen:该程序包存放的是主机操作系统和客户操作系统以及系统管理程序所用的Xen内核。
l xen:该程序包存放的是跟Xen系统管理程序交互的用户空间工具。
l bridge-utils:该程序包存放的是用于配置以太网桥的实用程序,以太网桥的作用是将多个以太网设备连在一起。
l libvirt:该程序包存放的是一个C库,它提供了使用Xen框架所需的应用编程接口API。
l libvirt-python:该程序包存放的是一个Python模块,有了它就可以让Python应用程序使用libvirt提供的Xen框架应用编程接口。
l Python-virtinst:该程序包存放的是一个Python模块,该模块使用libvirt在虚拟机内安装Fedora/Red Hat Enterprise Linux。
l Xen-libs:该程序包存放的是Xen的管理程序所需的程序库。
关于ubuntu的grub2引导
步骤如下:
a进入grub的命令模式。进入grub界面后按C键进入命令行界面。
b先熟悉一下grub的一些命令 grub>help
c熟悉一下cat命令
d root指令来指定/boot所在的分区
e kernel指令来指定linux的内核,及所在的分区
f用initrd命令来指定initrd文件
g boot引导系统
cat命令的用法
cat指令是用来查看文件内容的,有时不知道Linux的/boot分区,以及/根分区所在的位置,要查看/etc/fstab的内容来得知,这时,就要用到cat(hd[0-n],y)/etc/fstab来获得这些内容;注意要学会用tab键命令补齐的功能;
grub> cat(按tab键会出来hd0或hd1之类的;
grub> cat(hd0,注:输入hd0,然后再按tab键;会出来分区之类的;
grub> cat(hd0,6)
Possible partitions are:
Partition num: 0, Filesystem type unknown, partition type 0x7
Partition num: 4, Filesystem type is fat, partition type 0xb
Partition num: 5, Filesystem type is reiserfs, partition type 0x83
Partition num: 6, Filesystem type is ext2fs, partition type 0x83
Partition num: 7, Filesystem type unknown, partition type 0x83
Partition num: 8, Filesystem type is reiserfs, partition type 0x83
Partition num: 9, Filesystem type unknown, partition type 0x82
grub> cat(hd0,6)/etc/fstab注:比如我想查看一下(hd0,6)/etc/fstab的内容就这样输入;
LABEL=// ext3 defaults 1 1
/dev/devpts/dev/pts devpts gid=5,mode=620 0 0
/dev/shm/dev/shm tmpfs defaults 0 0
/dev/proc/proc proc defaults 0 0
/dev/sys/sys sysfs defaults 0 0
LABEL=SWAP-hda1 swap swap defaults 0 0
/dev/hdc/media/cdrecorder auto pamconsole,exec,noauto,
managed 0 0
主要查看/etc/fstab中的内容,主要是Linux的/分区及/boot是否是独立的分区;如果没有/boot类似的行,证明/boot和 Linux的/处于同一个硬盘分区;比如上面的例子中LABEL=/这行是极为重要的;说明Linux系统就安在标签为LABEL=/的分区中;
如果您的Linux系统/boot和/没有位于同一个分区,可能cat(hd[a-n],y)查到的是类似下面的;
LABEL=// ext3 defaults 1 1
LABEL=/boot/boot ext3 defaults 1 2
root(hd[0-n,y)指令来指定/boot所在的分区;
其实这个root(hd[0,n],y)是可以省略的,如果省略了,要在kerenl命令中指定;前面已经说过(hd[0-n],y)硬盘分区的表示方法的用途;主要是用来指定/boot所在的分区;
eg:
grub> root(hd0,0)
kernel指令,用来指定Linux的内核,及/所在的分区;
kernel这个指令可能初学者有点怕,不知道内核在哪个分区,及内核文件名的全称是什么。不要忘记tab键的命令补齐的应用;
如果已经通过root(hd[0-n],y)指定了/boot所在的分区,语法有两个:
如果/boot和Linux的/位于同一个分区,应该是下面的一种格式;
kernel/boot/vmlinuz在这里按tab键来补齐,就看到内核全称了 ro root=/dev/hd[a-z]X
如果/boot有自己独立的分区,应该是;
kernel/vmlinuz在这里按tab键来补齐,就看到内核全称了 ro root=/dev/hd[a-z]X
在这里 root=/dev/hd[a-z]X是Linux的/根所位于的分区,如果不知道是哪个分区,就用tab出来的来计算,一个一个的尝试;或用cat(hd[0-n],y)/etc/fstab中得到Linux的/所在的分区或分区的标签;
grub> kernel/boot/在这里按tab键;这样就列出/boot中的文件了;
Possible files are: grub initrd-2.6.11-1.1369_FC4.img System.map-2.6.11-1.1369
_FC4 config-2.6.11-1.1369_FC4 vmlinuz-2.6.11-1.1369_FC4 grubBAK memtest86+-1.55
.1 xen-syms xen.gz
grub> kernel/boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/
[Linux-bzImage, setup=0x1e00, size=0x18e473]
注解: root=LABEL=/是Linux的/所在的分区的文件系统的标签;如果您知道Linux的/在哪个具体的分区,用root=/dev/hd[a-z]X来指定也行。比如下面的一行也是可以的;
grub> kernel/boot/vmlinuz-2.6.11-1.1369_FC4 ro root=/dev/hda7
也可以把/boot所在的分区的指定 root(hd[0-n],y)这行省掉,直接在kernel中指定/boot所在的分区;所以就在下面的语法;
如果是/boot和Linux的根同处一个分区;
kernel(hd[0-n],y)/boot/vmlinuz ro root=/dev/hd[a-z]X
比如:
grub>kernel
如果是/boot和Linux所在的根不在一个分区;则是;
kernel(hd[0-n],y)/vmlinuz ro root=/dev/hd[a-z]X
grub> kernel(hd0,0)/boot/vmlinuz-2.6.11-1.1369_FC4 ro root=/dev/hda7
[Linux-bzImage, setup=0x1e00, size=0x18e473]
或下面的输入,以cat出/etc/fstab内容为准;
grub> kernel(hd0,0)/boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/
[Linux-bzImage, setup=0x1e00, size=0x18e473]
initrd命令行来指定initrd文件;
grub> initrd/boot/initrd在这里tab来补齐;
grub> initrd/boot/initrd-2.6.11-1.1369_FC4.img
[Linux-initrd@ 0x2e1000, 0x10e685 bytes]
如果/boot是独立的一个分区,应该是如下样子的语法;比如下面的;
grub> initrd/initrd在这里tab来补齐;
grub> initrd/initrd-2.6.11-1.1369_FC4.img
[Linux-initrd@ 0x2e1000, 0x10e685 bytes]
boot引导系统;
grub>boot
下面是在我机器上的命令:
grub> cat(hd0,0)/etc/fstab
# This file is edited by fstab-sync- see'man fstab-sync' for details
LABEL=// ext3 defaults 1 1
/dev/devpts/dev/pts devpts gid=5,mode=620 0 0
/dev/shm/dev/shm tmpfs defaults 0 0
/dev/proc/proc proc defaults 0 0
/dev/sys/sys sysfs defaults 0 0
LABEL=SWAP-hda1 swap swap defaults 0 0
/dev/hdc/media/cdrecorder auto pamconsole,exec,noauto,managed 0 0
grub> root(hd0,0)
Filesystem type is ext2fs, partition type 0x83
grub> kernel/boot/在这里按tab补齐,全列出/boot所有的文件;
Possible files are: grub initrd-2.6.11-1.1369_FC4.img System.map-2.6.11-1.1369_FC4 config-2.6.11-1.1369_FC4 vmlinuz-2.6.11-1.1369_FC4
memtest86+-1.55.1 xen-syms xen.gz
grub> kernel/boot/vmlinuz-2.6.11-1.1369_FC4 ro root=LABEL=/
[Linux-bzImage, setup=0x1e00, size=0x18e473]
grub> initrd/boot/在这里按tab补齐
Possible files are: grub initrd-2.6.11-1.1369_FC4.img System.map-2.6.11-1.1369_FC4 config-2.6.11-1.1369_FC4 vmlinuz-2.6.11-1.1369_FC4 grubBAK
memtest86+-1.55.1 xen-syms xen.gz
grub> initrd/boot/initrd-2.6.11-1.1369_FC4.img注;输入intrd文件名的全名;
[Linux-initrd@ 0x2e1000, 0x10e685 bytes]
grub> boot
关于Ubuntu 11.10开机启动项
最近装了Ubuntu 10.10,因为之前有Windows 7等系统,所以Ubuntu装上后出现启动菜单,默认Ubuntu启动。网上找了好多修改启动选项的方法,众说纷纭,现在总结如下:
一、能上网情况下的最好方法:安装startupmanager——图形启动项管理器
打开终端输入:sudo apt-get install startupmanager
安装启动管理器
系统——系统管理——启动管理器,选中默认开机操作系统即可。
二、最方便的方法:调整Windows系统的默认启动顺序(不需要修改grub.cfg)
/etc/grub.d目录中的脚本文件的文件名都是以数字开头,这确定了在执行update-grub时各文件内容被执行的顺序。
1.用 sudo nautilus命令,以root权限打开文件浏览器。然后找到30_os-prober这个文件,把 30_os-prober这个文件名的数字30改为05到10之间的数字即可(没多少可选06、07、08、09),比如改为08_os-prober,这样创建出来的grub.cfg内的菜单项,windows的排序就会自动在ubuntu之前;
2.运行 sudo update-grub命令。就可以看到,windows7已经排在了第一个的位置上。
三、网上介绍最多的方法(修改grub.cfg)
用 sudo gedit/boot/grub/grub.cfg命令打开grub.cfg这个文件,
一种方法是并将文件中的 set default="0"中的 0改成对应欲默认启动的操作系统的序号(从0开始)。然后保存;
另一种方法是把Windows对应的启动说明那一段剪切到启动说明段最前面;
用这2种方法都能默认启动Windows,但用修改grub.cfg文件来实现修改默认启动项应注意:当使用update-grub命令或者系统升级、grub升级等,grub.cfg文件将被复原。需要重新修改。
如果懒于每次update-grub之后都要修改grub.cfg文件,则可以进行如下操作:
用 sudo gedit/etc/grub.b/00_header命令打开00_header这个文件,找到 ser default="${GRUB_DEFAULT}"一行,将${GRUB_DEFAULT}换成欲默认启动的操作系统的序号(从0开始),保存,再update-grub。这样每次update-grub之后生成的grub.cfg将自动改成我们想要的样子。
四、如果你在硬盘中同时安装了不同的系统,或者由于Ubuntu更新/安装软件而产生了多个启动项,为了免去每次开机都要选择的麻烦,可以把一些低版本的或是不需要的启动项注释掉,这样开机看起来就没那么乱了。
具体做法:sudo gedit/boot/grub/grub.cfg
然后找到 menuentry...,看准了要去掉的系统启动项,在menuentry这个单词前面加上"#"就然后保存就可以了。注意:至少要留一个,建议保留两个ubuntu的选项,留下最高版本的两个不同类型的,其次再核对类型是不是各自一个:一个是正常的(没有注明“恢复模式”或:“recovery”),另一个是恢复模式的(注明“恢复模式”或:“recovery”)。另外含有Window的项是不能加“#”进行注释的,否则你的就会找不到相关的系统入口了。还有内存测试(menuentry"Memory test.....“),如果希望使用此功能留下一项,个人认为留下选项多的那个入口代表更多功能,但是内存测试的速度也会花更长的时间。
以下贴上本人机器启动项的配置情况,windows是最后一项,装的XP。
---------------------------------------------------------------------------------------
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from/etc/grub.d and settings from/etc/default/grub
#
### BEGIN/etc/grub.d/00_header###
if [-s$prefix/grubenv ]; then
set have_grubenv=true
load_env
fi
set default="2"
if ["${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi
function savedefault{
if [-z"${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}
function recordfail{
set recordfail=1
if [-n"${have_grubenv}" ]; then if [-z"${boot_once}" ]; then save_env recordfail; fi; fi
}
function load_video{
insmod vbe
insmod vga
}
insmod part_msdos
insmod ext2
set root='(hd1,msdos8)'
search--no-floppy--fs-uuid--set c825786c-e42c-4fed-8cc2-fd2a610a183b
if loadfont/usr/share/grub/unicode.pf2; then
set gfxmode=1280x1024
load_video
insmod gfxterm
fi
terminal_output gfxterm
insmod part_msdos
insmod ext2
set root='(hd1,msdos8)'
search--no-floppy--fs-uuid--set c825786c-e42c-4fed-8cc2-fd2a610a183b
set locale_dir=($root)/boot/grub/locale
set lang=zh
insmod gettext
if ["${recordfail}"= 1 ]; then
set timeout=-1
else
set timeout=3
fi
### END/etc/grub.d/00_header###
### BEGIN/etc/grub.d/05_debian_theme###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
### END/etc/grub.d/05_debian_theme###
### BEGIN/etc/grub.d/10_linux###
#menuentry'Ubuntu, with Linux 2.6.35-22-generic'--class ubuntu--class gnu-linux--class gnu--class os{
recordfail
insmod part_msdos
insmod ext2
set root='(hd1,msdos8)'
search--no-floppy--fs-uuid--set c825786c-e42c-4fed-8cc2-fd2a610a183b
linux/boot/vmlinuz-2.6.35-22-generic root=UUID=c825786c-e42c-4fed-8cc2-fd2a610a183b ro vga=775 quiet splash
initrd/boot/initrd.img-2.6.35-22-generic
}
#menuentry'Ubuntu, with Linux 2.6.35-22-generic(recovery mode)'--class ubuntu--class gnu-linux--class gnu--class os{
recordfail
insmod part_msdos
insmod ext2
set root='(hd1,msdos8)'
search--no-floppy--fs-uuid--set c825786c-e42c-4fed-8cc2-fd2a610a183b
echo'Loading Linux 2.6.35-22-generic...'
linux/boot/vmlinuz-2.6.35-22-generic root=UUID=c825786c-e42c-4fed-8cc2-fd2a610a183b ro single vga=775
echo'Loading initial ramdisk...'
initrd/boot/initrd.img-2.6.35-22-generic
}
menuentry'Ubuntu, with Linux 2.6.32-25-server'--class ubuntu--class gnu-linux--class gnu--class os{
recordfail
insmod part_msdos
insmod ext2
set root='(hd1,msdos8)'
search--no-floppy--fs-uuid--set c825786c-e42c-4fed-8cc2-fd2a610a183b
linux/boot/vmlinuz-2.6.32-25-server root=UUID=c825786c-e42c-4fed-8cc2-fd2a610a183b ro vga=775 quiet splash
initrd/boot/initrd.img-2.6.32-25-server
}
menuentry'Ubuntu, with Linux 2.6.32-25-server(recovery mode)'--class ubuntu--class gnu-linux--class gnu--class os{
recordfail
insmod part_msdos
insmod ext2
set root='(hd1,msdos8)'
search--no-floppy--fs-uuid--set c825786c-e42c-4fed-8cc2-fd2a610a183b
echo'Loading Linux 2.6.32-25-server...'
linux/boot/vmlinuz-2.6.32-25-server root=UUID=c825786c-e42c-4fed-8cc2-fd2a610a183b ro single vga=775
echo'Loading initial ramdisk...'
initrd/boot/initrd.img-2.6.32-25-server
}
#menuentry'Ubuntu, with Linux 2.6.32-25-generic'--class ubuntu--class gnu-linux--class gnu--class os{
recordfail
insmod part_msdos
insmod ext2
set root='(hd1,msdos8)'
search--no-floppy--fs-uuid--set c825786c-e42c-4fed-8cc2-fd2a610a183b
linux/boot/vmlinuz-2.6.32-25-generic root=UUID=c825786c-e42c-4fed-8cc2-fd2a610a183b ro vga=775 quiet splash
initrd/boot/initrd.img-2.6.32-25-generic
}
#menuentry'Ubuntu, with Linux 2.6.32-25-generic(recovery mode)'--class ubuntu--class gnu-linux--class gnu--class os{
recordfail
insmod part_msdos
insmod ext2
set root='(hd1,msdos8)'
search--no-floppy--fs-uuid--set c825786c-e42c-4fed-8cc2-fd2a610a183b
echo'Loading Linux 2.6.32-25-generic...'
linux/boot/vmlinuz-2.6.32-25-generic root=UUID=c825786c-e42c-4fed-8cc2-fd2a610a183b ro single vga=775
echo'Loading initial ramdisk...'
initrd/boot/initrd.img-2.6.32-25-generic
}
#menuentry'Ubuntu, with Linux 2.6.32-25-preempt'--class ubuntu--class gnu-linux--class gnu--class os{
recordfail
insmod part_msdos
insmod ext2
set root='(hd1,msdos8)'
search--no-floppy--fs-uuid--set c825786c-e42c-4fed-8cc2-fd2a610a183b
linux/boot/vmlinuz-2.6.32-25-preempt root=UUID=c825786c-e42c-4fed-8cc2-fd2a610a183b ro vga=775 quiet splash
initrd/boot/initrd.img-2.6.32-25-preempt
}
#menuentry'Ubuntu, with Linux 2.6.32-25-preempt(recovery mode)'--class ubuntu--class gnu-linux--class gnu--class os{
recordfail
insmod part_msdos
insmod ext2
set root='(hd1,msdos8)'
search--no-floppy--fs-uuid--set c825786c-e42c-4fed-8cc2-fd2a610a183b
echo'Loading Linux 2.6.32-25-preempt...'
linux/boot/vmlinuz-2.6.32-25-preempt root=UUID=c825786c-e42c-4fed-8cc2-fd2a610a183b ro single vga=775
echo'Loading initial ramdisk...'
initrd/boot/initrd.img-2.6.32-25-preempt
}
### END/etc/grub.d/10_linux###
### BEGIN/etc/grub.d/20_linux_xen###
### END/etc/grub.d/20_linux_xen###
### BEGIN/etc/grub.d/20_memtest86+###
#menuentry"Memory test(memtest86+)"{
insmod part_msdos
insmod ext2
set root='(hd1,msdos8)'
search--no-floppy--fs-uuid--set c825786c-e42c-4fed-8cc2-fd2a610a183b
linux16/boot/memtest86+.bin
}
menuentry"Memory test(memtest86+, serial console 115200)"{
insmod part_msdos
insmod ext2
set root='(hd1,msdos8)'
search--no-floppy--fs-uuid--set c825786c-e42c-4fed-8cc2-fd2a610a183b
linux16/boot/memtest86+.bin console=ttyS0,115200n8
}
### END/etc/grub.d/20_memtest86+###
### BEGIN/etc/grub.d/30_os-prober###
menuentry"Microsoft Windows XP Professional(on/dev/sda1)"{
insmod part_msdos
insmod ntfs
set root='(hd1,msdos1)'
search--no-floppy--fs-uuid--set 22a89599a8956bd3
drivemap-s(hd0)${root}
chainloader+1
}
### END/etc/grub.d/30_os-prober###
### BEGIN/etc/grub.d/40_custom###
# 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.
### END/etc/grub.d/40_custom###
### BEGIN/etc/grub.d/41_custom###
if [-f$prefix/custom.cfg ]; then
source$prefix/custom.cfg;
fi
### END/etc/grub.d/41_custom###
------------------------------------------------------------------
对以上启动项配置修改的简要说明:
红色语句前面都是加了”#“就是不再显示的启动项,如果以后需要再次重新启用,那么只要能够进入编辑/boot/grub/grub.cfg这个文件,把”#“号去掉就可以了。绿色的项目是保留的启动项,在系统启动时候会显示。万一你对分辨这红和绿这两种颜色有困难的话,可以数一下,启动代码中红色的语句共7句,绿色的3句。
五、关于系统启动时默认等待时间的设置:
Ubuntu默认是显示启动列表10秒以后自动进入第一个显示的启动项。要修改这个启动等待时间也是可以在/boot/grub/grub.cfg这个文件里面修改的,找到以下代码段:
---------------------------------------------------------------
search--no-floppy--fs-uuid--set c825786c-e42c-4fed-8cc2-fd2a610a183b
set locale_dir=($root)/boot/grub/locale
set lang=zh
insmod gettext
if ["${recordfail}"= 1 ]; then
set timeout=-1
else
set timeout=3
fi
--------------------------------------------------------------
修改else语句后面这个”timeout“的值,比如这里是3表示等待3秒后自动进入系统。改为其他值比如5就等待5秒。
如果你不熟悉代码的意思或者怕改错,那么建议你安装一个启动管理器在里面进行可视化设置。这样比较保险。
方法见上述第”一“部分。再帖一下:
打开终端输入:sudo apt-get install startupmanager#需要能上网哦
安装启动管理器
系统——系统管理——启动管理器,选中默认开机操作系统即可。
好了,这个话题就写到这儿了,如果朋友们还有什么疑问欢迎给我留言,或与我交流,只要我知道的一定努力为你解答。
祝你好运!