三步简单制作Slackware启动U盘
时间:2007-11-20
来源:互联网
本来Slackware 12.0已经提供了制作启动U盘的方法,但是我经过多次实验居然没有一次成功,做出的来的U盘根本不能启动。而且做完启动盘之后U盘变成了16M,想正常使用还得再恢复,非常不方便。经过上个周末的研究之后,发现做个Slackware的启动U盘其实也很简单,而且不影响U盘正常使用,现将方法介绍如下。
第一步:准备好U盘。这一步非常关键,否则你的U盘根本没法启动。
假设你的U盘在Linux下是/dev/sda,可以用fdisk查看一下分区信息
fdisk -l /dev/sda
如果一切正常,就可以直接进行下一步了。
如果有问题,就用fdisk重建一下分区表。因为U盘在某些情况下,比如重新分区又在Win下格过等,可能会造成分区表有问题,这种情况不会影响U盘的基本功能,就是这种U盘在任何系统还能正常访问并读写数据了。但是要想用这种U盘启动机器,就必须修复分区表。我这里用的最直接的方法:fdisk(注意事先保存好U盘上的重要数据!)。我的U盘只有一个分区,FAT格式,fdisk完再mkdosfs就完事了。U盘嘛,没必要搞得太复杂。
第二步:复制必要的文件到U盘上,我这里是简单制作,最少只要两个文件就行了(一个内核,一个syslinux.cfg配置文件)。
内核可以直接用系统里现成的(如果是为了启动硬盘上的系统最好就用这个),也可以用Slackware安装盘kernel目录里的,你自己另外弄一个也行;syslinux.cfg找个现成的改改或自己写一个就行。然后是initrd的镜像文件,如果想做个LiveUSB就必须要了,Slackware那个usb-and-pxe-installers目录下的不错,嫌大的话可以用isolinux目录下的,或者自己用mkinitrd做一个。另外你还可以搞几个提示文件,就是像Slackware做的启动盘里那个message.txt,f1.txt什么的。本来这些文件直接放到U盘里就行了,但是为了不让U盘显得太乱,我给它们全放到一个目录里了,目录的名字是syslinux(也可以是/boot/syslinux,syslinux.cfg只能放在这两个目录)。
我的syslinux.cfg文件
解释一下:
default bzImage initrd=initrd.img load_ramdisk=1 prompt_ramdisk=0 rw root=/dev/ram vga=771
这是默认是进入LiveUSB,跟Slackware安装盘启动后进的系统一样
display message.txt
这是启动后显示的提示信息
F1 f1.txt
这是按下F1键之后显示的内容
label mount
kernel vmlinuz
append root=/dev/hda1 vga=771 ro
这是进入硬盘上/dev/hda1安装的系统,也可以通过输入选项启动其它地方的系统(注意,我这里用了两个不同的内核,其实用一个也可以)
比如想启动另外一个盘/dev/hdb2上的系统
mount root=/dev/hdb2 ro
vga=771不用我解释了吧,可以自行修改,实在不行就用normal。
第三步:经过以上两步之后准备工作就全部做完了,再运行一个命令,如果没有错误提示的话就大功告成
解释一下,因为我没有mtools,所以用的是syslinux-notools命令,你完全可以选择syslinux命令;-d syslinux 选项是为了把生成的ldlinux.sys文件也放到syslinux目录下。这样所有的文件都在syslinux目录下,便于管理,在Windows下再把这个目录设置为隐藏就更好了:)
写到这里就应该能算是完工了,可是我发现只成功了一半。上面的方法在我的64M优盘上完全没有问题,新买的2G优盘却启动不了。我怀疑可能跟syslinux有关(哪位知道真正原因一定要告诉我呵),就改用lilo试了一下,这次总算成功了。方法大致跟前面一样,只是改用lilo引导,下面简单介绍一下吧。
第一步同上。
第二步只是把syslinux.cfg改成lilo.conf,并且lilo.conf都可以不放到U盘上了。这次我把文件都放到了boot目录下。
我的lilo配置文件如下(注意:我是把U盘mount到/mnt/hd下的)
第三步:运行lilo,正常可能会有个警告信息,说sda不是第一个设备
这样所有的文件也都放到了boot目录下。
本人水平有限,以上介绍的只是个非常简单的制作过程,如果中间有错误的地方或是您有更好的建议,希望您一定告诉大家!
第一步:准备好U盘。这一步非常关键,否则你的U盘根本没法启动。
假设你的U盘在Linux下是/dev/sda,可以用fdisk查看一下分区信息
fdisk -l /dev/sda
如果一切正常,就可以直接进行下一步了。
如果有问题,就用fdisk重建一下分区表。因为U盘在某些情况下,比如重新分区又在Win下格过等,可能会造成分区表有问题,这种情况不会影响U盘的基本功能,就是这种U盘在任何系统还能正常访问并读写数据了。但是要想用这种U盘启动机器,就必须修复分区表。我这里用的最直接的方法:fdisk(注意事先保存好U盘上的重要数据!)。我的U盘只有一个分区,FAT格式,fdisk完再mkdosfs就完事了。U盘嘛,没必要搞得太复杂。
第二步:复制必要的文件到U盘上,我这里是简单制作,最少只要两个文件就行了(一个内核,一个syslinux.cfg配置文件)。
内核可以直接用系统里现成的(如果是为了启动硬盘上的系统最好就用这个),也可以用Slackware安装盘kernel目录里的,你自己另外弄一个也行;syslinux.cfg找个现成的改改或自己写一个就行。然后是initrd的镜像文件,如果想做个LiveUSB就必须要了,Slackware那个usb-and-pxe-installers目录下的不错,嫌大的话可以用isolinux目录下的,或者自己用mkinitrd做一个。另外你还可以搞几个提示文件,就是像Slackware做的启动盘里那个message.txt,f1.txt什么的。本来这些文件直接放到U盘里就行了,但是为了不让U盘显得太乱,我给它们全放到一个目录里了,目录的名字是syslinux(也可以是/boot/syslinux,syslinux.cfg只能放在这两个目录)。
我的syslinux.cfg文件
代码:
default bzImage initrd=initrd.img load_ramdisk=1 prompt_ramdisk=0 rw root=/dev/ram vga=771 prompt 1 timeout 1200 display message.txt F1 f1.txt F2 message.txt #F3 f3.txt label mount kernel vmlinuz append root=/dev/hda1 vga=771 ro
default bzImage initrd=initrd.img load_ramdisk=1 prompt_ramdisk=0 rw root=/dev/ram vga=771
这是默认是进入LiveUSB,跟Slackware安装盘启动后进的系统一样
display message.txt
这是启动后显示的提示信息
F1 f1.txt
这是按下F1键之后显示的内容
label mount
kernel vmlinuz
append root=/dev/hda1 vga=771 ro
这是进入硬盘上/dev/hda1安装的系统,也可以通过输入选项启动其它地方的系统(注意,我这里用了两个不同的内核,其实用一个也可以)
比如想启动另外一个盘/dev/hdb2上的系统
mount root=/dev/hdb2 ro
vga=771不用我解释了吧,可以自行修改,实在不行就用normal。
第三步:经过以上两步之后准备工作就全部做完了,再运行一个命令,如果没有错误提示的话就大功告成
代码:
syslinux-nomtools -d syslinux /dev/sda
写到这里就应该能算是完工了,可是我发现只成功了一半。上面的方法在我的64M优盘上完全没有问题,新买的2G优盘却启动不了。我怀疑可能跟syslinux有关(哪位知道真正原因一定要告诉我呵),就改用lilo试了一下,这次总算成功了。方法大致跟前面一样,只是改用lilo引导,下面简单介绍一下吧。
第一步同上。
第二步只是把syslinux.cfg改成lilo.conf,并且lilo.conf都可以不放到U盘上了。这次我把文件都放到了boot目录下。
我的lilo配置文件如下(注意:我是把U盘mount到/mnt/hd下的)
代码:
boot = /dev/sda #message = /boot/boot_message.txt #prompt timeout = 1200 compact lba32 large-memory # VESA framebuffer console @ 800x600x256 vga=771 install=text # Override dangerous defaults that rewrite the partition table: change-rules reset # LiveUSB bootable partition config begins image=/mnt/hd/boot/bzImage initrd=/mnt/hd/boot/initrd.img label=LiveUSB root=/dev/ram0 append="max_loop=255 init=linuxrc load_ramdisk=1 prompt_ramdisk=0" read-write # LiveUSB bootable partition config ends # Linux bootable partition config begins # 其它的自己加吧 # Linux bootable partition config ends
代码:
lilo -C /mnt/hd/boot/lilo.conf -m mnt/hd/boot/lilo.map
本人水平有限,以上介绍的只是个非常简单的制作过程,如果中间有错误的地方或是您有更好的建议,希望您一定告诉大家!
作者: Yei 发布时间: 2007-11-20
Yei 兄弟很久没有发这样好的帖子了,精华!
作者: AMD-K6 发布时间: 2007-11-20
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28