ubuntu linux定制过程

定制的组成部分

linux安装文件加载程序isolinu及其他相关信息、根文件系统镜像(Ramdisk)、内核镜像、根文件系统四部分组成。安装过程由安装加载程序控制,直至完成后转入到挂载的根文件系统。

 

一、    文件系统制作过程

XXXXX的根文件系统是根据Ubuntu进行修改制作完成,因此根文件系统的格式依然为squashfs。具体制作流程如下:

1、 下载对应版本的iso镜像(本文为ubuntu-10.04.3-desktop-i386.iso),并且确认是否安装根文件系统解压缩及打包工具,没有则通过命令安装:

      (sudo) aptitude install squashfs-tools genisoimage

 

2、 提取并解压根文件系统。具体如下:

1)设置目录

mkdir ~/live

mv ubuntu-10.04.3-desktop-i386.iso ~/live

cd ~/live

2)挂载livecd

mkdir mnt

(sudo) mount -o loop ubuntu-10.04.3-desktop-i386.iso mnt

3)提取文件到extract-cd目录

mkdir extract-cd

rsync --exclude=/casper/filesystem.squashfs -a mnt/ extract-cd

4)提取并解压squashfs文件系统

(sudo) unsquashfs mnt/casper/filesystem.squashfs

(sudo) mv squashfs-root edit

 

3、 准备并虚拟根目录。如果在虚根环境中要使用网络连接,则需要设置以下信息:

(sudo) cp /etc/resolv.conf edit/etc/

可能需要复制hosts文件

(sudo) cp /etc/hosts edit/etc/

1)挂载相关目录:

(sudo) mount --bind /dev/ edit/dev

(sudo) chroot edit

(sudo) mount -t proc none /proc

(sudo) mount -t sysfs none /sys

(sudo) mount -t devpts none /dev/pts

(mknod /dev/urandomc 1 9)//不挂载dev sysdevpts的情况;

 

(注意:删除edit前应先卸载此处挂载的目录)

2)为了避免区域问题以及导入 GPG keys:

(sudo) export HOME=/root

(sudo) export LC_ALL=C

3)为chroot环境配置软件源。在安装和升级系统之前需要运行:

(sudo) dbus-uuidgen > /var/lib/dbus/machine-id

(sudo) dpkg-divert --local --rename --add /sbin/initctl

(sudo) ln -s /bin/true /sbin/initctl

 

5、定制软件包。查看已安装的软件包:

(sudo) dpkg-query -W --showformat='${Installed-Size} ${Package}\n' |sort -nr | less

 

1)卸载某个不需要的软件包

aptitude purge package_name(apt-get auntoremove –-purge package_name亦可)

 

2)更新软件列表

apt-get update

 

3)卸载其他自带组件

apt-get autoremove –purge \

ubuntu-docs \

ubuntuone-client \

ubuntuone-client-gnome \

python-ubuntuone \

python-ubuntuone-client \

python-ubuntuone-storageprotocol \

rhythmbox-ubuntuone-music-store       \

libubuntuone-1.0-1 \

checkbox \

update-manager \

ubufox

 

4)卸载自带游戏

apt-get remove gnome-games gnome-games-common

 

5)卸载除英文外的语言包

 

apt-get remove language-pack-bnlanguage-pack-de language-pack-es language-pack-fr language-pack-gnome-bnlanguage-pack-gnome-de language-pack-gnome-es language-pack-gnome-frlanguage-pack-gnome-pt language-pack-gnome-xh language-pack-pt language-pack-xh

 

6)更新系统,包括内核(根据需要进行)

(注意:如果升级了内核,要保证将/boot下的vmlinuz-2.6.31-19-generic和initrd.img-2.6.31-19-generic更新到/home/yeelen/live/extract-cd/casper目录中的vmlinuz和initrd.lz。)

 

apt-get dist-upgrade

aptitude purgelinux-image-2.6.31-14-generic

 

7)安装中文环境和ibus拼音输入法

apt-get install ibus-pinyin ibus-table-wubilanguage-support-input-zh-hans language-pack-zh-hanslanguage-pack-gnome-zh-hans language-pack-gnome-zh-hans-base language-pack-zh-hans-base

 

8)安装openoffice常用语言包(当前安装了中文)

apt-get install openoffice.org-l10n-zh-cnopenoffice.org-l10n-common openoffice.org-help-zh-cn openoffice.org-l10n-en-gbopenoffice.org-help-en-gb openoffice.org-l10n-en-za

 

9)安装其他软件(根据需要安装)

apt-get install gnome-app-install

aptitude install gthumb exaile

aptitude install ubuntu-restricted-extras

aptitude install smplayer

aptitude install audacious gftp gwgetchmsee compizconfig-settings-manager

apt-get install nautilus-open-terminalnautilus-gksu

 

10)修改火狐启动页,具体如下:

cd /usr/lib/firefox-*(版本号)/defaults/profile

gedit user.js

输入

user_pref("browser.startup.homepage","http://www.XXXX.cn");(根据需要设置相应网址)

保存退出即可。

 

6、定制gnome背景图片

1)复制png文件到/usr/share/backgrounds/

(在chroot外执行)(sudo) cp *.png  edit/usr/share/backgrounds/

 

2)编辑以下两个文件,指定到新的png文件:

vi /usr/share/gnome-background-properties/ubuntu-wallpapers.xml(修改背景成员)

vi /usr/share/gconf/defaults/16_ubuntu-wallpapers(修改默认背景)

 

3)设定启动的默认背景图片。修改/usr/share/gconf/defaults/16_ubuntu-artwork

 

7、安装自定义的控件、图标、字体和主题(这里只是安装,没有进行修改)

1)安装字体。具体如下:

mkdir ~/live/edit//usr/share/fonts/truetype/msyh  /* 创建字体存放目录 */

(在chroot外执行)(sudo) cp ~/live/temp/*.ttf  ~/live/edit/usr/share/fonts/truetype/msyh/

/* 复制微软雅黑字体到指定目录*/

 

2)安装主题。去gnome-look下载主题控件文件,如Lilium.tar.gz:

(在chroot外执行)(sudo) tar zxvf ~/live/temp/Lilium.tar.gz-C ~/live/temp/  /* 解压主题包,并存放到临时目录下 */

(在chroot外执行)(sudo) mv -t~/live/edit/usr/share/themes/ ~/live/temp/Lilium  /* 将解压后的主题包安装到指定目录 */

 

3)安装图标。下载图标文件,如Simple.tar.bz2:

(在chroot外执行)(sudo) tar -xjf~/live/temp/Simple-2.2.5.tar.bz2 -C ~/live/temp/  /* 解压图标文件,并存放到临时目录下 */

(在chroot外执行)(sudo) mv -t~/live/edit/usr/share/icons/ ~/live/temp/Simple /* 将解压后的图标安装到指定目录下 */

 

4)复制index.theme主题文件到安装后的主题包中,设定关联关系:

(在chroot外执行)sudo cp ~/live/temp/index.theme~/live/edit/usr/share/themes/Lilium/

之后需要根据内容进行相应修改,看了文件之后就明白,在此不细述。

详细:将主题图标复制到/usr/share/icons中,将主题管理复制到/usr/share/themes/中更改为原来的文件的名字,将原来文件的名字更改为其他的名字,然后比对原来的文件下的index.theme文件更改目前文件下的设置文件,默认替换文件是Amblance

更改gconf中的defaults中的16-Ubuntu-artwork中的值amblance为win7-icons

 

8、更改gconf值。

对gconf的任何设置变更都必须在/etc/gconf/gconf.xml.defaults/%gconf-tree.xml文件中添加相应的值. 在此文件中添加一个值将改变 GNOME 或者其他程序的默认设置, 所以你可以更改字体, 背影, 主题, 指针等等。下面使用gconftool-2进行修改默认设置,但我在实际应用中不行,可以尝试修改一下。后来我是直接修改/usr/share/gconf/defaults中的目录,如面板设置保存在05_panel-default-setup.entries,其他值在相应文件修改即可,和下面方法类似。

在chroot环境中,可以用gconftool-2代替gedit等编辑软件:

gconftool-2 --direct --config-sourcexml:readwrite:/etc/gconf/gconf.xml.defaults --type string --set yourkey"yourvalue"

这里的string,yourkey和yourvalue分别是你想更改的类型、主键和值。

 

通过编辑gconf来分别设置每个值需要太多的时间,便捷的办法:

1)为按照你的意愿来测试用户和调整设置,执行:

gconftool-2 --dump /the/settings/branch/you/need >~/live/your-new-settings.xml

(sudo) chown root:root ~/live/your-new-settings.xml

(sudo) mv ~/live/your-new-settings.xml~/live/edit/your-new-settings.xml

 转到下一步进行调试修改。

 

2)然后, 在chroot环境中, 执行:

 

gconftool-2 --direct --config-sourcexml:readwrite:/etc/gconf/gconf.xml.defaults --load /your-new-settings.xml  /* 加载配置文件 */

rm /your-new-settings.xml

通过这个方法你可以导入整个分支, 例如/apps/panel面板的所有设置。

 

3)应用程序字体设置:

gconftool-2 --direct --config-sourcexml:readwrite:/etc/gconf/gconf.xml.defaults --type string --set/desktop/gnome/interface/font_name "Microsoft YaHei 9"

 

4)桌面字体

gconftool-2 --direct --config-sourcexml:readwrite:/etc/gconf/gconf.xml.defaults --type string --set/apps/nautilus/preferences/desktop_font "Microsoft YaHei Bold 10"

 

5)窗口标题栏

gconftool-2 --direct --config-sourcexml:readwrite:/etc/gconf/gconf.xml.defaults --type string --set/apps/metacity/general/titlebar_font "Microsoft YaHei Bold 10"

 

6)关闭最小化效果

gconftool-2 --direct --config-sourcexml:readwrite:/etc/gconf/gconf.xml.defaults --type bool --set/apps/metacity/general/reduced_resources true

gconftool-2 --direct --config-sourcexml:readwrite:/etc/gconf/gconf.xml.defaults --type bool --set/desktop/gnome/interface/accessibility true

 

7)默认主题、图标设置

gconftool-2 --direct --config-sourcexml:readwrite:/etc/gconf/gconf.xml.defaults --type string --set/desktop/gnome/interface/gtk_theme "Lilium"  /* 设置主题 */

gconftool-2 --direct --config-sourcexml:readwrite:/etc/gconf/gconf.xml.defaults --type string --set/desktop/gnome/interface/icon_theme "Simple"  /* 设置图标 */

 

8)显示菜单图标

gconftool-2 --direct --config-sourcexml:readwrite:/etc/gconf/gconf.xml.defaults --type bool --set/desktop/gnome/interface/buttons_have_icons true

gconftool-2 --direct --config-source xml:readwrite:/etc/gconf/gconf.xml.defaults--type bool --set /desktop/gnome/interface/menus_have_icons true

 

9)桌面显示计算机、主目录、回收站、网上邻居

gconftool-2 --direct --config-sourcexml:readwrite:/etc/gconf/gconf.xml.defaults --type bool --set/apps/nautilus/desktop/computer_icon_visible true  /* 显示计算机(我的电脑)*/

gconftool-2 --direct --config-sourcexml:readwrite:/etc/gconf/gconf.xml.defaults --type bool --set/apps/nautilus/desktop/home_icon_visible true     /* 显示家目录(我的文档)*/

gconftool-2 --direct --config-sourcexml:readwrite:/etc/gconf/gconf.xml.defaults --type bool --set/apps/nautilus/desktop/trash_icon_visible true     /* 显示回收站 */

gconftool-2 --direct --config-sourcexml:readwrite:/etc/gconf/gconf.xml.defaults --type bool --set/apps/nautilus/desktop/network_icon_visible true   /* 显示网络服务器(网上邻居)*/

 

10)默认4个工作区,可修改为对应值(1、2、4)

gconftool-2 --direct --config-sourcexml:readwrite:/etc/gconf/gconf.xml.defaults --type int --set/apps/metacity/general/num-workspaces 4

11)关闭开机自动更新提示

gconftool-2 --direct --config-sourcexml:readwrite:/etc/gconf/gconf.xml.defaults --type bool --set/apps/update-notifier/auto_launch false

rm /etc/xdg/autostart/update-notifier.desktop

12)设置标题栏按钮。Ubuntu默认的标题栏按钮(最大化、最小化、关闭)是放在左边,Windows是放在右边,因此可以设置其放置格式,具体如下:

左边按钮:右边按钮

如要改成Windows则如下:

menu:minimize,maximize,close

保存在/usr/gconf/defaults/下的90_light_themes中及主题安装包中(设置主题的按钮风格)。以”:”为界,左边的为放置在窗口左边的按钮,右边的放置在窗口右边。

 

9、更改gfxboot的默认语言

1)重新编译gfxboot

cd ~/live/

mkdir src

cd src

sudo aptitude install dpkg-dev uck

sudo apt-get source gfxboot-theme-ubuntu gfxboot

cd gfxboot-theme-ubuntu*/po

sudo gedit zh_CN.po

 

2)进行相应的修改,保存退出

(sudo) make

cd ..

(sudo) make DEFAULT_LANG=zh_CN

(sudo) rm -rf ~/live/extract-cd/isolinux/*

(sudo) cp -af boot/* ~/live/extract-cd/isolinux/

 

3)修改livecd启动界面的logo。修改/home/yeelen/live/extract-cd/isolinux/splash.pcx文件即可。

当然还有另外一种简便的方法变更gfxboot默认语言,而不重建软件包:在isolinux目录中创建一个名称为lang的文件来加载你的本地语言名称,如:

(在chroot外执行)(sudo) vi~/live/extract-cd/isolinux/lang

要设为中文则输入zh_CN(其他设置为对应值)后保存退出。

 

10、确保没有大于999的UID,我在实际执行中好像不行。

awk -F: '$3 > 999' /etc/passwd

usermod -u 500 nobody

 

11、默认杂项

你或许希望通过编辑/etc/default中的文件来改变系统的默认启动行为。你也可以编辑/etc/profile,/etc/bash.bashrc,和/etc/bash_completion来改变系统所有用户的登录设置。你不能直接编辑livecd的默认用户,如casper,ubuntu,or user,因为该帐户是在系统启动时创建的。你可以直接编辑根用户的默认文件(/root在chroot环境中),如改变时区:

dpkg-reconfigure tzdata

如果你希望添加一个新位置并将其置为默认位置,更新/etc/default/locale。你可能需要编辑位置:

locale-gen new_locale

update-locale LANG=new_locale LANGUAGE=new_locale LC_ALL=new_locale

(注意:这些更改必须以root身份在chroot环境执行。)

12、安装界面定制

修改ubiquity-slideshow,以显示安装过程中的中文介绍(根据实际需要进行修改):

cp -af /usr/share/ubiquity-slideshow/slides/loc.zh_CN/* /usr/share/ubiquity-slideshow/slides/

rm -rf loc.*  /* 此处只保留中文介绍 */

修改网页文件内容以适合自己的定制版本。

 

13、试验功能(不能保证没有问题)

1)修改gdm主题和背景

gksudo -u gdm dbus-launch gnome-appearance-properties

修改主题和背景图片,背景要与xsplash一致。

 

2)修改xsplash背景

(在chroot外执行)(sudo) cp ~/live/temp/bg_2560x1600.jpg  ~/live/edit/usr/share/images/

xsplash/

 

3)修改grub背景

将做好的图片重命名为moreblue-orbit-grub.tga,分辨率时800x600,保存到~/live/temp/ 然后在chroot外执行:

(sudo) cp ~/live/temp/moreblue-orbit-grub.tga~/live/edit/usr/share/images/desktop-base/

如果想支持jpg和png格式图片,按照下面的方法修改配置文件:

vi /etc/grub.d/00_header

cat << EOF

if [ -s /boot/grub/grubenv ]; then

have_grubenv=true

load_env

fi

set default="${GRUB_DEFAULT}"

if [ \${prev_saved_entry} ]; then

saved_entry=\${prev_saved_entry}

save_env saved_entry

prev_saved_entry=save_env prev_saved_entry

fi

insmod jpeg  /* 增加支持JPG文件 */

insmod png  /* 增加支持PNG文件 */

EOF

cat << EOF

if loadfont `make_system_path_relative_to_its_root${GRUB_FONT_PATH}` ; then

set gfxmode=1024*768  /* 设置GRUB分辨率,按自己情况设置 */

insmod gfxterm

insmod ${GRUB_VIDEO_BACKEND}

if terminal_output gfxterm ; then true ; else

# For backward compatibility with versions of terminal.mod thatdon't

# understand terminal_output

terminal gfxterm

fi

fi

EOF

vi /etc/grub.d/05_debian_theme

use_bg=false

if [ "$GRUB_TERMINAL_OUTPUT" = "gfxterm" ] ; then

for i in{/boot/grub,/usr/share/images/desktop-base}/moreblue-orbit-grub.{png,tga,jpg} ;do  /* 识别格式,增加JPG */

if is_path_readable_by_grub $i ; then

bg=$i

case ${bg} in

*.png)        reader=png ;;

*.tga)        reader=tga ;;

*.jpg|*.jpeg)    reader=jpeg;;

esac

if test -e /boot/grub/${reader}.mod ; then

echo "Found Debian background: `basename ${bg}`">&2

use_bg=true

break;

            fi

fi

done

fi

cat << EOF

insmod ${reader}

if background_image `make_system_path_relative_to_its_root ${bg}` ;then

       set color_normal=white/black  /* 设置字体颜色(注意图片的颜色与字的颜色)  */

set color_highlight=blue/black  /* 设置字体颜色 */

else

EOF

fi

之后运行:

update-grub

 

15、内核更新(根据需要进行)

1)livecd内核更新(如果你在之前的步骤中更新了内核,那么务必要做以下操作)

(在chroot外执行)(sudo) rm/home/yeelen/live/extract-cd/casper/initrd.lz

(在chroot外执行)(sudo) rm/home/yeelen/live/extract-cd/casper/vmlinuz

(在chroot外执行)(sudo) cp~/live/edit/boot/vmlinuz-2.6.31-19-generic ~/live/extract-cd/

casper/

(在chroot外执行)(sudo) mv~/live/extract-cd/casper/vmlinuz-2.6.31-19-generic  ~/live/

extract-cd/casper/vmlinuz

(在chroot外执行)(sudo) cp~/live/edit/boot/initrd.img-2.6.31-19-generic ~/ 

cd ~/

(在chroot外执行)sudo mv~/initrd.img-2.6.31-19-generic initrd.gz

 

2)解压gz文件并再压缩为lz格式:

(在chroot外执行)(sudo) gzip -dc initrd.gz | sudolzma -7 > initrd.lz

(在chroot外执行)(sudo) mv initrd.lz~/live/extract-cd/casper/

(在chroot外执行)(sudo) rm -rf initrd.gz

 

16、退出chroot。具体如下:

1)清理aptitude缓存:

apt-get autoremove

apt-get autoclean

aptitude clean

 

2)删除临时文件和nameserver设置:

rm -rf /tmp/* ~/.bash_history

rm /etc/resolv.conf

 

3)如果安装了软件,应该在chroot内执行

rm /var/lib/dbus/machine-id

rm /sbin/initctl

dpkg-divert --rename --remove /sbin/initctl

 

4)umount曾挂载的目录:

umount /proc

umount /sys

umount /dev/pts

 

5)退出chroot:

exit

(注意:此处退出chroot,以下指令实际上是在chroot外执行。)

(sudo) umount edit/dev

(注意:如果不能执行umount/proc,可尝试umount -lf/proc)

 

17、制作根文件系统,具体如下:

1)重新生成manifest及manifest-desktop文件:

rm extract-cd/casper/filesystem.manifest extract-cd/casper/filesystem.manifest-desktop

(sudo) chroot edit dpkg-query -W --showformat='${Package}${Version}\n' > extract-cd/casper/filesystem.manifest

sudo cp extract-cd/casper/filesystem.manifestextract-cd/casper/filesystem.manifest-desktop

sudo sed -i '/ubiquity/d'extract-cd/casper/filesystem.manifest-desktop

sudo sed -i '/casper/d'extract-cd/casper/filesystem.manifest-desktop

     根据manifest生成manifest-desktop也有另一方式:

    (sudo) chroot chroot dpkg-query -W --showformat='${Package}${Version}\n' | sudo tee image/casper/filesystem.manifest

(sudo) cp -v image/casper/filesystem.manifestimage/casper/filesystem.manifest-desktop

REMOVE='ubiquity ubiquity-frontend-gtk ubiquity-frontend-kde casperlupin-casper live-initramfs user-setup discover1 xresprobe os-proberlibdebian-installer4'  (要删除的包名)

for i in $REMOVE

do

       (sudo) sed -i "/${i}/d"image/casper/filesystem.manifest-desktop

done

修改filesystem.size

printf$(du -sx --block-size=1edit | cut -f1) >extract-cd/casper/filesystem.size

 

2)压缩文件系统:

(sudo) rm extract-cd/casper/filesystem.squashfs /* 必须先移除旧的文件系统 */

(sudo) mksquashfs edit extract-cd/casper/filesystem.squashfs-noappend

 

3)在 extract-cd/README.diskdefines 中添加镜像的名称

(sudo) vi extract-cd/README.diskdefines

 

4)删除旧的md5sum.txt文件并计算新的md5码

cd extract-cd

(sudo) rm md5sum.txt

find -type f -print0 | sudo xargs -0 md5sum | grep -visolinux/boot.cat | sudo tee md5sum.txt

 

5)创建ISO

(sudo) mkisofs -D -r -V "ubuntumate" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat-no-emul-boot -boot-load-size 4 -boot-info-table -o/home/aniuge/ubuntu-mateok-1604.iso -eltorito-alt-boot -b boot/grub/efi.img-no-emul-boot /home/aniuge/umate

 

注意:

①复制文件的时候会遗漏.disk文件夹,会导致iso找不到安装光盘,所以制作启动光盘前务必确保.disk文件夹复制到umate目录下,执行 cp -fR .disk//home/aniuge/umate/

②如果要在 efi 启动,需要添加如下参数:
-eltorito-alt-boot -b boot/grub/efi.img -no-emul-boot

 

说明:

-c:cat文件

制作启动光盘时,mkisofs会将开机映像文件中的全-eltorito-catalog*文件的全部内容作成一个文件

-b:启动image

指定在制作启动光盘时所需的开机映像文件

-V

Set Volume ID

-o

设置输出文件

-r

Joliet是用于在 Windows 环境下使用的光盘

 

18、测试CD

用vmware或者virtualbox虚拟机测试(具体根据自己条件选择相应测试工具即可)。在改变livecd系统内核后虚拟运行中会出现一些疑难问题。如果你遇到了,那么在启动界面出现时按一下F6键。引动光标到splashquite和--之间并键入:all_generic_ide

 

19、烧录CD

cdrecord dev=/dev/cdrom yeelen_ubuntu-9.10-desktop-i386.iso

当然也可以使用烧录工具将镜像烧录即可。

 

20、注意事项

1)官方教程中的压缩根文件系统和制作iso镜像有点问题,采用本文中的方法即可。

官方教程:https://help.ubuntu.com/community/LiveCDCustomization.

2)uname的问题。执行uname输出信息信息有包含Ubuntu的信息(内核版本),简单的解决方法是:先将/bin/uname命名为/bin/.uname,之后编写一个/bin/uname,内容如下:

#!/bin/bash

 

#***************************

# shell script of uname

#***************************

 

.uname $@ | sed "s/Ubuntu/xxxx/g"

 

exit

     实际上就是将输出信息中的Ubuntu修改为xxxx,之后输出即可。

21、efi引导(参考centos7文档)

为了兼容 mbr 方式和 EFI 方式,同时创建了 /boot 和 /boot/efi 分区。

3 配置 mbr 引导方式

编辑 isoliuux 目录下的 isolinux.cfg 文件,添加自己的内容,在 isolinux.cfg 文件中 label linux 下面添加自己的 label :
label linux
 menu label ^Install CentOS 7
 kernel vmlinuz
 append initrd=initrd.img inst.stage2=hd:LABEL=CENTOS7 quiet
 
label custom
 menu label ^Custom CentOS 7 by xiaoli110
 kernel vmlinuz
 append initrd=initrd.img inst.stage2=hd:LABEL=CENTOS7inst.ks=cdrom:/isolinux/ks.cfg

注意点:

1 ) memu label 后面的内容是在光盘引导起来菜单的内容, ^ 后面的字母是菜单的快捷键;

2 )通过 inst.ks 关键字指明 ks.cfg 文件位置;

3 ) inst.stages2 标识的是系统按照介质位置,这里使用 hd:LABEL 表明寻找的是 label 为 CENTOS7 的安装介质,使用 LABEL 关键字的好处是可以精确指定安装介质,为什么 label 是 CENTOS7 ,是因为我在制作光盘镜像的时候指定的,方法在后面有介绍。

4 配置 EFI 引导方式

1 ) EFI 简介

EFI 可扩展固件接口( ExtensibleFirmware Interface 的缩写),是英特尔主导推出的一种替代 BIOS 的升级方案。最早由英特尔开发,于 2005 年将此规范格式交由 UEFI论坛来推广与发展,后来并更改名称为 Unified EFI(UEFI) 。 UEFI 论坛于 2007 年 1 月 7 日释出并发放 2.1 版本的规格,其中增加与改进了加密编码( cryptography )、网络认证( network authentication )与用户接口架构( User InterfaceArchitecture )。

EFI 是用模块化, C 语言风格的参数堆栈传递方式,动态链接的形式构建的系统,较 BIOS 而言更易于实现,容错和纠错特性更强,缩短了系统研发的时间。

EFI 在概念上非常类似于一个低阶的操作系统,并且具有操控所有硬件资源的能力。

2 )配置 EFI 引导

进入光盘目录EFI/BOOT/ ,编辑 grub.cfg 文件,添加自己的菜单:
menuentry 'Install CentOS 7' --class Fedora--class gnu-linux--class gnu --class os {
  linuxefi /images/pxeboot/vmlinuz inst.stage2=hd:LABEL=CENTOS7 quiet
  initrdefi /images/pxeboot/initrd.img
}
menuentry 'Install CentOS 7 custom byxiaoli110' --class fedora --classgnu-linux --class gnu --class os {
  linuxefi /images/pxeboot/vmlinuzinst.ks=cdrom:/isolinux/ks.cfginst.stage2=hd:LABEL=CENTOS7 quiet
  initrdefi /images/pxeboot/initrd.img
}


和 mbr 方式类似,指明 ks.cfg 文件位置和安装源位置。

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值