0、本文約定;
虛擬平臺是指能支持運行Xen的真實安裝的操作系統;
虛擬操作系統:是指在虛擬平臺上安裝和虛擬運行的操作系統;
比如我在Slackware 中安裝了Xen,那Slackware就是虛擬平臺,通過虛擬平臺就可以虛擬其它操作系統了;比如通過Slackware來虛擬Debian、Fedora ... ...
1、什么是Xen;
Xen 是一個開放源代碼的para-virtualizing虛擬機(VMM),或“管理程序 ”,是為x86架構的機器而設計的。Xen 可以在一套物理硬件上安全的執行多個虛擬機;Xen是基于內核的虛擬程序,它和操作平臺結合的極為密切,所以它占用的資源最少。
什么是虛擬機呢?可能大家知道VMWARE吧,是的,Xen就是類似這樣的程序,比如我們可以在Fedora 上虛擬安裝和使用Slackware、Debian、Gentoo ... ... 等發行版。因為Xen是基于內核的,相對VMWARE 來說,它占用的系統資源也就是VMWARE的百分之幾左右。Xen是不是更有優勢呢?只有您實踐了才知道。這也是我寫本文的最主要原因;
1.1 Xen的特性;
虛擬機的性能更接近真實硬件環境)
在真實物理環境的平臺和虛擬平臺間自由切換)
在每個客戶虛擬機支持到 32個虛擬CPU,通過 VCPU熱插拔)
支持PAE指令集的x86/32, x86/64平臺
通過Intel 虛擬支持VT的支持來用虛擬原始操作系統(未經修改的)支持(包括Microsoft Windows)
優秀的硬件支持.支持幾乎所有的Linux設備驅動
1.2 Xen的應用范圍;
服務器整合:在虛擬機范圍內,在一臺物理主機上安裝多個服務器, 用于演示及故障隔絕;
無硬件依賴:允許應用程序和操作系統對新硬件的移值測試;
多操作系統配置:以開發和測試為目的,同時運行多個操作系統;
內核開發:在虛擬機的沙盒中,做內核的測試和調試,無需為了測試而單獨架設一臺獨立的機器;
集群運算:和單獨的管理每個物理主機相比較,在VM級管理更加靈活,在負載均衡方面,更易于控制,和隔離;
為客戶操作系統提供硬件技術支持:可以開發新的操作系統, 以得益于現存操作系統的廣泛硬件支持,比如Linux;
1.3 Xen的操作系統支持和硬件支持;
請參閱: 《Xen v3.0 用戶手冊》
2、Xen的一點理論基礎;
基于Xen的操作系統,有多個層,最底層和最高特權層是 Xen程序本身。Xen 可以管理多個客戶操作系統,每個操作系統都能在一個安全的虛擬機中實現。在Xen的術語中,Domain由Xen控制,以高效的利用CPU的物理資源。每個客戶操作系統可以管理它自身的應用。這種管理包括每個程序在規定時間內的響應到執行,是通過Xen調度到虛擬機中實現。
當Xen啟動運行后,第一個虛擬的操作系統,就是Xen本身,我們通過xm list,會發現有一個Domain 0的虛擬機。Domain 0 是其它虛擬主機的管理者和控制者,Domain 0 可以構建其它的更多的Domain ,并管理虛擬設備。它還能執行管理任務,比如虛擬機的體眠、喚醒和遷移其它虛擬機。
一個被稱為xend的服務器進程通過domain 0來管理系統,Xend 負責管理眾多的虛擬主機,并且提供進入這些系統的控制臺。命令經一個命令行的工具通過一個HTTP的接口被傳送到xend。
3、Xen的安裝;
在寫本文時,Xen的當前最新版本是xen-3.0.1,它基于的內核版本是2.6.12.6的。您可以根據自己的操作系統的情況來選擇一種安裝方式,適合您的就是最好的;
3.1 安裝Xen的準備工作;
擁有 GRUB引導的Linux做為安裝平臺,還要編譯工具,比如gcc、binutils 及make和automake等;開發庫有zlib和python-dev等;
具體明細請參閱: 《Xen v3.0 用戶手冊》
由于Xen用Python 開發的,所以Python 當然也是必不可少的。如果您是新手,我建議您用自己所用的操作系統軟件包管理工具來安裝這些軟件包。
3.2 在Redhat/Fedora 操作平臺上的安裝;
在Fedora/Redhat平臺上安裝比較簡單,您可以通過yum 來在線安裝Xen和支持Xen的內核;因為Fedora/Redhat已經提供對Xen的支持了;Fedora/Redhat 提供的Xen內核支持比較高;不過就目前我的測試來看好象經常會機器重啟,存在的問題可能是桌面環境造成的,比如GNOME桌面,打開就有重啟的現象,也可能是Fedora/Redhat提供的Xen內有BUG;
安裝Xen及支持Xen的請參考:《Fedora Core 5.0 用 Xen 虛擬Slackware 10.2》
對于Fedora 4.0及Redhat和Fedora 5.0類似;現在Yum的源上都有Xen和支持Xen的內核包;
3.3 通過Xen的二進制包來安裝(幾乎適用所有的Linux發行版);
通過Xen的二進制軟件包來安裝,這應該是通用的,幾乎適合所有的Linux操作系統。由于二進制所是已經編譯好的,我已經在Slackware 平臺上用這種方法來安裝,還是成功的。另外etony兄也在Debian上安裝成功;
您應該到 http://www.xensource.com/downloads 去下載二進制包,文件名中帶有xen-3.0.1-install字樣的,比如 xen-3.0.1-install-x86_32.tgz,這個軟件包表示適用x86_32位機器的。也就是我們用的普通32位PC機。如果您用的是64位機器,應該下載文件名帶有x86_64字樣的軟件包;
下載好后,就解壓安裝,我們還是以支持x86_32構架機器的xen-3.0.1-install-x86_32.tgz為例:
[root@localhost ~]# tar zxvf xen-3.0.1-install-x86_32.tgz
[root@localhost ~]# cd xen-3.0.1-install
[root@localhost xen-3.0.1-install]# sh install.sh
判斷是不是安裝好了,請查看/boot目錄,會發現有很多文件名帶有xen字樣的文件,另外在/lib/moudules中也會發現有支持xen的內核模塊;另外再看一看是否有/etc/xen這個目錄。我想應該是有的。
3.4 通過Xen的源碼包編譯安裝(僅供參考);
通過Xen的二進制包來安裝,可能有時內核不太適應我們的需要,這時我們要通過Xen的源碼包來安裝。通過自己編譯來安裝Xen及支持Xen的內核;Xen的源碼包,您可以到 http://www.xensource.com/downloads去下載。文件名帶有 xen-3.0.1-src字樣的,比如 xen-3.0.1-src.tgz。
3.41 編譯原理;
通過Xen的源碼包編譯,其實也沒有什么神秘的。在Xen的源碼包中提供了一些內核補丁和內核配置文件等。當我們執行編譯命令時,首先編譯的是Xen程序本身,然后是編譯內核 。在編譯內核時,程序會自動判斷是否有內核源碼 ,xen-3.0.1支持的內核是2.6.12.6,如果在xen的解壓目錄下沒有,他就會自動內核的官方站 http://www.kernel.org 下載 linux-2.6.12.tar.bz2。然后就是自動解壓并為此內核打補丁。然后系統會根據指令要求,然后采用相應的內核配置文件,或配置內核進行編譯。
3.42 編譯過程簡說;
第一步:解壓軟件包,查看Xen源碼包所帶的文件;
[root@localhost ~]# tar zxvf xen-3.0.1-src.tgz
[root@localhost ~]# cd xen-3.0.1
[root@localhost xen-3.0.1]# ls
COPYING Config.mk README docs install.sh patches xen
ChangeLog Makefile buildconfigs extras linux-2.6-xen-sparse tools
我們解壓xen-3.0.1-src.tgz 后,進入解壓目錄,會看到以上的文件或文件夾。patches是內核的補丁包,linux-2.6-xen-sparse是支持Xen的內核目錄樹,值得注意的是內核的配置文件就在這個目錄中;
[root@localhost xen-3.0.1]# ls linux-2.6-xen-sparse/arch/xen/configs/
xen0_defconfig_ia64 xen0_defconfig_x86_64 xenU_defconfig_x86_32 xen_defconfig_x86_32
xen0_defconfig_x86_32 xenU_defconfig_ia64 xenU_defconfig_x86_64 xen_defconfig_x86_64
看到上面所列出的內核配置文件了吧,我們可能會發現文件名帶有xen0字樣的和xenU字樣的兩類文件。在這兩類內核中,我們大多會修改的內核配置文件是運行xen的操作系統的內核配置文件,另一個是用于虛擬操作系統的內核配置文件;
xen0字樣的就是我們一般是用于我們運行xen的操作系統的內核 ,而xenU字樣的就是為虛擬操作系統所提供的內核。另外還有x86_32和x86_64之分,這表示CPU的架構。
比如我們用的是x86架構32位的CPU,我們在編譯內核的時候就要用到 xen0_defconfig_x86_32 和xenU_defconfig_x86_32 配置文件。
舉個例子:比如我的機器架構是x86_32位的,我安裝xen的操作系統是Slackware,我想在Slackware 虛擬Debian 、Gentoo、Fedora等操作系統。這時編譯虛擬平臺Slackware所用的內核的配置文件就是 xen0_defconfig_x86_32 ,而被虛擬平臺(Debian 、Gentoo、Fedora等操作系統)所用的內核就是 xenU_defconfig_x86_32 。
弄明白內核配置文件有何用?我們能明白xen在編譯過程中用了哪些內核配置文件,目的是我們在編譯過程中可以根據自己的需要來修改它,以編譯出適合我們需要的內核。
比如我們想讓Slackware 支持xen,并且還要支持NTFS文件系統;所以我們就要修改 xen0_defconfig_x86_32這個文件。找出如下一行;
# CONFIG_NTFS_FS is not set
改為
CONFIG_NTFS_FS=m
如果您想讓被虛擬的操作系統(Debian 、Gentoo、Fedora等)也支持NTFS文件系統,所以要在 xenU_defconfig_x86_32找出如下一行;
# CONFIG_NTFS_FS is not set
改為
CONFIG_NTFS_FS=m
第二步:配置內核;
這一步有兩種方法,一個是直接修改內核配置文件,另一個是內核配置界面來配置;
方法一:通過修改內核配置文件;
Xen所帶的內核配置文件位于解壓目錄中的linux-2.6-xen-sparse/arch/xen/configs 。我們前面已經提到了相關配置文件的用途。請仔細看前一步的說明;
方法二:通過內核配置界面來配置;
[root@localhost xen-3.0.1]# make linux-2.6-xen0-config CONFIGMODE=menuconfig
第三步:編譯和安裝Xen;
[root@localhost xen-3.0.1]# make
[root@localhost xen-3.0.1]# make install
3.43 創建initrd文件;
有的系統需要initrd-XXXX.img或initrd.gz文件才能引導起來,如果您的系統用了支持xen的支持引導不起來,就要創建一個initrd-XXXX.img或initrd.gz的文件;請參考: 《Xen v3.0 用戶手冊》
3.44 關于xen0和xenU內核說明;
一般的情況下會在/boot目錄中有兩個與xen相關的內核,有的文件名帶有vmlinuz-XXXX-xen0字樣的,有的帶有vmlinuz-XXXX-xenU字樣的;比如:
[root@localhost xen-3.0.1]# ls -la /boot/vmlinuz*xen*
lrwxrwxrwx 1 root root 21 2006-04-12 07:42 /boot/vmlinuz-2.6-xen0 -> vmlinuz-2.6.12.6-xen0
lrwxrwxrwx 1 root root 21 2006-04-12 07:49 /boot/vmlinuz-2.6-xenU -> vmlinuz-2.6.12.6-xenU
lrwxrwxrwx 1 root root 21 2006-04-12 07:42 /boot/vmlinuz-2.6.12-xen0 -> vmlinuz-2.6.12.6-xen0
lrwxrwxrwx 1 root root 21 2006-04-12 07:49 /boot/vmlinuz-2.6.12-xenU -> vmlinuz-2.6.12.6-xenU
-rw-r--r-- 1 root root 2180524 2006-04-12 07:42 /boot/vmlinuz-2.6.12.6-xen0
-rw-r--r-- 1 root root 1129950 2006-04-12 07:49 /boot/vmlinuz-2.6.12.6-xenU
其實就是兩個與xen相關的內核,其它的都是這兩個內核文件的鏈接;也就是vmlinuz-2.6.12.6-xen0和vmlinuz-2.6.12.6-xenU。vmlinuz-2.6.12.6-xen0是用來引導虛擬平臺的,比如我們在Slackware上安裝Xen,那Slackware就是虛擬平臺;所以如果要讓Slackware的xen能運行起來,必須用xen相關的內核 ,也就是vmlinuz-2.6.12.6-xen0這個內核。 而XenU字樣這個內核,是用來引導虛擬操作系統用的,我們在以后會提到它。
4、引導XenLinux的GRUB配置;
一旦我們在Linux操作系統安裝好Xen后,這樣的系統應該被稱為XenLinux。如何才能引導擁有Xen的Linux呢?這時我們要用到GRUB系統引導管理器。我們修改一下GRUB的配置文件menu.lst或grub.conf就行了。此文件位于/boot/grub目錄中;
4.1 判斷系統所在的分區;
[root@localhost ~]# df -h
Filesystem 容量 已用 可用 已用% 掛載點
/dev/hda6 12G 6.9G 4.9G 59% /
4.2 查看/boot目錄中xen相關的配置文件;
[root@localhost ~]# ls /boot
注意:我們前面已經說過了,xen提供了兩個內核,一個是虛擬平臺用的,也就是文件名帶有xen0字樣的;另一個帶有xenU字樣的,這是用于引導和支持虛擬操作系統用的。
什么虛擬平臺,比如我們想用Slackware 的Xen虛擬Fedora、Gentoo .... 。那么Slackware就是虛擬平臺,而Fedora、Gentoo... .. 是被虛擬的操作系統。Slackware是一個真實安裝在您的機器上的操作系統,它提供的是一個運行xen的環境。為了讓Slackware能支持xen ,所以必須用于支持Xen的內核,也就是在/boot中有xen0字樣的文件。
如果您安裝了Xen,會在/boot中有兩個文件vmlinuz-2.6.12.6-xen0和vmlinuz-2.6.12.6-xenU,
4.3 禁掉 TLS Libraries ;
[root@localhost ~]#mv /lib/tls /lib/tls.disabled
禁掉的理由,請查看: 《Xen v3.0 用戶手冊》
4.4 引導XenLinux的GRUB內容;
title SlackXen
kernel /boot/xen-3.0.gz
module /boot/vmlinuz-2.6-xen0 root=/dev/hda6 ro console=tty0
如果有inintrd-2.xxxx-xen.img或initrd.gz之類的文件才能引導起來系統,還要加一行;要以/boot中的initrd相關的文件為準;
modules /boot/initrd.gz
有關GRUB的文檔:《系統引導管理器GRUB,為初學者指南》
注意:與傳統GRUB的定義有點不同,就是kernel 是用來定義Xen的,而Linux的內核及initrd映像是通過module 指令定義的;要仔細看好;
5、Xen的配置和管理工具;
5.1 Xen的相關文件存放位置;
xen安裝后,文件放在什么地方了呢?主要放在以下幾個目錄;
5.11 內核及xen自身存放于 /boot
安裝有xen的操作系統下的/boot目錄中,存放xen本身及支持xen的內核文件。比如文件名帶有xen0和xenU相關的文件;
5.12 內核模塊存放于 /lib/modules
內核模塊包括虛擬平臺支持xen的內核xen0的模塊,及支持虛擬操作系統所用的xenU的模塊,一般的情況下是在 /lib/modules下有兩個xen相關的目錄存放。一個是文件夾名帶有xen0字樣的,另一個是xenU字樣的;
5.13 xen的配置文件及守護程序的存放位置;
一般的情況下,Xen的配置文件存放于/etc/xen目錄。 比如 xend-config.sxp是用于配置網絡的,不過我們不必更改,用其默認的就能完成我們的需要。xmexample1 xmexample2是兩個示例性的配置文件。我們在配置引導被虛擬的操作系統時,這兩個文件可供參考;
Xen的服務器xend和xendomains啟動腳本,一般是位于/etc/init.d/目錄中,也就是/etc/init.d/xend ;/etc/init.d/xend負責啟動xend服務器,而/etc/init.d/xendomains負責第一個虛擬的系統及其它的Domains,也就是Domain 0 。
5.14 可執行命令存放于/usr/sbin
[root@localhost ~]#ls /usr/sbin/xen*
/usr/sbin/xen-bugtool /usr/sbin/xenconsoled /usr/sbin/xenmon.py /usr/sbin/xenstored
/usr/sbin/xenbaked /usr/sbin/xend /usr/sbin/xenperf /usr/sbin/xentop
[root@localhost ~]#ls /usr/sbin/xm
5.2 Xen服務器的啟動;
xend服務器的啟動/停止/重啟/狀態查詢,請用下面的命令;
[root@localhost ~]# /etc/init.d/xend start 啟動xend,如果 xend沒有運行)
[root@localhost ~]# /etc/init.d/xend stop 停止xend,如果xend正在運行)
[root@localhost ~]# /etc/init.d/xend restart 重啟正在運行的 xend,如果xend沒有運行,則啟動
[root@localhost ~]# /etc/init.d/xend status 查看xend狀態
啟動xendomains 服務器的啟動/停止/重啟/狀態查詢,請用下面的命令;一般的情況下,xend服務器啟動了,xendomains也會自動啟動。所以這個只是掌握一下就行了;
[root@localhost ~]# /etc/init.d/xend start 啟動xend,如果 xend沒有運行)
[root@localhost ~]# /etc/init.d/xend stop 停止xend,如果xend正在運行)
[root@localhost ~]# /etc/init.d/xend restart 重啟正在運行的 xend,如果xend沒有運行,則啟動
[root@localhost ~]# /etc/init.d/xend status 查看xend狀態
[root@localhost ~]# /etc/init.d/xendomains start
[root@localhost ~]# /etc/init.d/xendomains stop
[root@localhost ~]# /etc/init.d/xendomains restart
[root@localhost ~]# /etc/init.d/xendomains status
5.3 Xen 管理工具xm;
我們前面提到Xen的可執行命令中,我們可能看到了一些以xen開頭的命令,您不妨嘗試一個一個的嘗試一下他們是做什么用的;比如xend是服務器的開啟運行命令 ... ....
其中xm命令,就是管理Xen的最基本的工具;您可以通過xm --help 來獲得幫助;
5.31 列出所有正在運行的虛擬操作系統;
[root@localhost ~]# /usr/sbin/xm list
Name ID Mem(MiB) VCPUs State Time(s)
Domain-0 0 450 1 r----- 5377.0
fc5 4 256 1 -b---- 0.1
列出所有正在運行的虛擬系統(也可以稱為虛擬機);我們可以看到,一個名為Domain-0的系統正在運行。Domain-0就是Xen本身,也可以稱為虛擬平臺內存大小,而Domain-0負責提供其它虛擬操作系統的硬件環境,其它的系統都是基于Domain-0開始的,我們看到他的ID為0就應該知道它的權限是至高無尚的。所占用的內存是450M,不過這個是可以指定的。 虛擬的CPU個數是1個,運行狀態處于r,也就是run,正在運行中;運行時間是5377秒;
還有一個虛擬系統fc5,他的id是4,占用內存256M,虛擬CPU個數是1個 ... ...
5.32 通過配置文件來引導被虛擬的操作系統;
[root@localhost ~]# /usr/sbin/xm create -c 虛擬操作系統的啟動配置文件
比如我們要啟動被虛擬的操作系統Fedora Core 5.0 ,我們要寫一個啟動Fedora的配置文件,比如是fc5vm.cfg。然后就可以通過下面的命令來引導Fedora了;
[root@localhost ~]# /usr/sbin/xm create -c fc5vm.cfg
5.33 從終端或控制臺登錄正在運行的虛擬操作系統;
[root@localhost ~]# /usr/sbin/xm console 正在運行的虛擬操作系統的Name或ID;
舉例:
[root@localhost ~]# /usr/sbin/xm list
Name ID Mem(MiB) VCPUs State Time(s)
Domain-0 0 512 1 r----- 5561.9
fc5 4 256 1 -b---- 0.2
[root@localhost ~]# /usr/sbin/xm console fc5
5.34 存儲正在運行的虛擬操作系統的狀態及喚醒虛擬操作系統;
[root@localhost ~]# /usr/sbin/xm save [root@localhost ~]# /usr/sbin/xm restore
舉例:
[root@localhost ~]# /usr/sbin/xm list
Name ID Mem(MiB) VCPUs State Time(s)
Domain-0 0 458 1 r----- 260.3
fc5 2 256 1 ------ 6.5
[root@localhost ~]# /usr/sbin/xm save 2 fc5run.save
[root@localhost ~]# /usr/sbin/xm restore fc5run.save
[root@localhost ~]# /usr/sbin/xm console fc5
5.35 停止正在運行的虛擬操作系統/激活停止的虛擬操作系統
[root@localhost ~]# /usr/sbin/xm pause [root@localhost ~]# /usr/sbin/xm unpause
舉例:
[root@localhost ~]# /usr/sbin/xm list
Name ID Mem(MiB) VCPUs State Time(s)
Domain-0 0 458 1 r----- 260.3
fc5 2 256 1 ------ 6.5
[root@localhost ~]# /usr/sbin/xm pause 2
[root@localhost ~]# /usr/sbin/xm unpause 2
5.36 調整虛擬平臺/虛擬操作系統的占用內存
我們可以調整正在運行中的虛擬平臺(Domain-0)所占內存大小及虛擬操作系統所占用的內存大小;
[root@localhost ~]# /usr/sbin/xm mem-set
舉例:
[root@localhost ~]# /usr/sbin/xm list
Name ID Mem(MiB) VCPUs State Time(s)
Domain-0 0 458 1 r----- 260.3
fc5 2 256 1 ------ 6.5
[root@localhost ~]# /usr/sbin/xm mem-set 2 128
5.37 關閉被虛擬的系統
[root@localhost ~]# /usr/sbin/xm shutdown 虛擬操作系統的Name或DomID
[root@localhost ~]# /usr/sbin/xm destroy
舉例:
[root@localhost ~]# /usr/sbin/xm list
Name ID Mem(MiB) VCPUs State Time(s)
Domain-0 0 458 1 r----- 260.3
fc5 2 256 1 ------ 6.5
[root@localhost ~]# /usr/sbin/xm shutdown fc5
或
[root@localhost ~]# /usr/sbin/xm shutdown 2
或
[root@localhost ~]# /usr/sbin/xm destroy 2
5.38 調整虛擬平臺及虛擬操作系統的虛擬CPU個數;
[root@localhost ~]# /usr/sbin/xm vcpu-set
舉例:
[root@localhost ~]# /usr/sbin/xm list
Name ID Mem(MiB) VCPUs State Time(s)
Domain-0 0 458 1 r----- 260.3
fc5 2 256 1 ------ 6.5
[root@localhost ~]# /usr/sbin/xm vcpu-set 2 4
5.39 查看虛擬系統運行的狀態;
[root@localhost ~]# xm top
或
[root@localhost ~]# xentop
6、虛擬操作系統的文件存儲系統;
我們虛擬的系統應該有一個存儲的地方,也就是文件系統。被虛擬的系統能安裝和運行在哪些文件系統上呢?能安裝和運行在一個實際的物理分區上,一個映像文件中,或NFS等網絡文件系統中;
6.1 以實際物理硬盤做為虛擬操作系統文件系統;
以實際物理硬盤分區做為虛擬操作系統的文件系統,要經過硬盤分區,創建文件系統流程;
請參考:《Linux 創建文件系統及掛載文件系統流程詳解》
6.11 準備物理分區及創建文件系統;
《Linux 查看磁盤分區、文件系統、使用情況的命令和相關工具介紹》
《實例解說 fdisk 使用方法》
《合理規劃您的硬盤分區》
《Linux 創建文件系統及掛載文件系統流程詳解》
6.12 在物理分區上構建操作系統;
構建操作系統,目前在一個Linux操作系統中構建另一個操作系統,主要是通過chroot工具和軟件包提取工具來構建。基礎的東西還是需要一點的,請參考:《通過chroot 構建Linux操作系統概要》
目前在開源社區中,已經有人把一些常用的發行版的基礎系統做好了。我們能拿過來直接用。呵。。。。。只要有基礎系統,我們就能chroot進入,我們就能用相應發行版軟件包管理器來構建操作系統了。
操作系統之基礎系統資源:
http://jailtime.org
您可以直接下載您喜歡的操作系統,解壓后,然后掛載映像文件,然后把映像文件的內容都拷到物理分區中就好了。不過還得做一點小小的修改,比如您下載系統映像文件中的/etc/fstab等文件。要根據您的引導的虛擬操作系統中定義的虛擬映射點來改。
6.13 虛擬操作系統的引導文件中關于文件系統的定義;