实验一:使用U盘做启动盘
实验目的:
1,熟悉linux操作系统启动过程;
2,使用U盘做为系统启动盘。
实验环境:
装有linux RHEL5U1操作系统的pc机一台,U盘一个(大约1.5G空间)。
实验过程:
1,对U盘进行分区、格式化并进行挂载(此步骤在根“/”下进行)。
(1)分区:使用fdisk /dev/sdb 命令进入控制命令行,键入n进行分区,在键入p设置主分区,并设置起标号为1,然后设置该分区对应的起始分区和结束分区磁柱编号;再键入a进行激活;最后键入w对设置的配置进行保存。
输入partprobe /dev/sdb命令,对分区表进行更新。
(2)格式化:输入mks.ext3 /dev/sdb1 (若U盘先前挂载在系统上,需要先取消挂载(umount命令))。
(3)挂载:输入mount /dev/sdb1 /media命令。
2,安装filesysterm和grub包。
(1)(此步骤在根“/”下进行)在装包前,需要先把事先准备好的linux安装镜像文件挂载在本地(例:把/root/rb.iso挂载在/mnt)。输入命令为:mount -o loop /root/rb.iso /mnt。
(2)(此步骤在U盘“/media”下进行)输入以下命令开始装包:rpm -ivh --nodeps --force --root=/media /mnt/Server/filesystem.rpm
rpm -ivh --nodeps --force --root=/media /mnt/Server/grub.rpm
3,把/boot下文件拷入U盘并配置相应的文件。
(1)拷文件(此步骤在根“/”下进行):命令为:cp -rf /boot/* /media/boot/
(2)配置grub.conf文件(此步骤在U盘“/media”下进行):输入vim /media/boot/grub/grub.conf对其进行编辑,把启动时的三行进行修改,第二行改为kernol /boot/…… root=/dev/sdb1 init=/bin/bash,第三行改为initrd /boot/initrdusb.img。
(3)配置device.map文件(此步骤在U盘“/media”下进行):输入vim /media/boot/grub/device.map对其进行编辑,把原有信息改为(hd0) /dev/sdb.
4,对initrd加载驱动(此步骤在根“/”下进行)。
输入命令mkinitrd --with=sd_mod --with=scsi_mod --with=uhci-hcd --with=ehci-hcd --with=usb-storage /media/boot/initrdusb.img `uname -r`从而加载驱动。
5,拷贝执行程序和库文件到U盘中(此步骤在根“/”下进行)。
(1)拷贝执行程序:cp /bin/* /media/bin/
cp /sbin/* /media/sbin/
cp /usr/bin/* /media/usr/bin/
cp /usr/sbin/* /media/usr/sbin/
注:当拷贝过程中出现提示:是否覆盖某文件,全选n。
(2)拷贝库文件:cp -rf /lib/* /media/lib/
cp -f /usr/lib/* /media/usr/lib/
注:某些文件,因其不是很关键和重要,所以可以不拷贝过去以便节省空间。
6,拷贝并设置fstab和mtab文件。
(1)拷贝文件(此步骤在根“/”下进行):cp /etc/fstab /media/etc/fstab
cp /etc/mtab /media/etc/mtab
(2)设置文件(此步骤在U盘“/media”下进行):
vim /media/etc/fstab进入配置文件,把原来的内容全部删除,并参照原格式写入/dev/sdb1 / ext3 default 0 0。
vim /media/etc/mtab进入配置文件,把原来的内容全部删除,并参照原格式写入/dev/sdb1 / ext3 rw 0 0。
7,安装grub于U盘中(此步骤在根“/”下进行)。
(1)首先创建设备:mknod /dev/sdb b 8 16
mknod /dev/sdb1 b 8 17
(2)输入chroot /media/进入控制命令行,再输入grub-install /dev/sdb进行安装,此时可能会提示错误,但可以忽略。
8,同步操作(此步骤在根“/”下进行):输入sync即可。此时可以输入du命令来查看文件大小。
实验结果:
在开机时进入bios设置,把开机启动设置为U盘启动。然后重启电脑,若进入字符界面,则说明实验成功;若不能顺利进入字符界面,则说明实验过程还需要进行修改。