自己动手制作linux硬盘启动
来源:互联网 发布:数据库insert into 编辑:程序博客网 时间:2024/05/16 12:11
要求: 有一个已安装的linux系统和一个空的硬盘, 这里用VMWare 虚拟机作测试环境,用knoppix作linux系统。
用这样的环境仅仅是为了方便说明。
1) 从光盘启动knoppix
2) 用fdisk为硬盘分区 (记得要切换到root用户,VMWare创建系统时默认为SCSI硬盘, 不过这里假设硬盘为hda)
3) mke2fs hda1
4) mount /dev/hda1 /mnt/hda1 && cd /mnt/hda1
4) mkdir -p bin lib etc dev sbin boot/grub home
5) cp /usr/share/grub/i386-redhat/stage1 /mnt/hda1/grub/
cp /usr/share/grub/i386-redhat/stage2 /mnt/hda1/grub/
6) 建/mnt/hda1/grub/menu.lst文件,内容如下:
cat >> menu.lst << END
>default 0
>timeout 10
>title my-linux
> root (hd0,0)
> kernel /boot/vmlinuz root=/dev/hda1 rw
7) 拷贝 bash mknod chmod cat mkdir rm echo cp mv ln ls mount umount init mingetty login等常用文件
到 /mnt/hda1/bin下, 不过要记得拷贝他们的链接库so文件到/mnt/hda1/lib下,可以用ldd命令
查看他们需要的库文件。这些命令也可以用bushbox和tinylogin来代替,这里不多说。
ln -s bash sh
8) 建建设备文件 hda hda1 hdc(一般为cdrom) console tty0~tty6
mknod hda b 3 0
mknod hdc b 22 0
mknod hda1 b 3 1
mknod console c 5 1
mknod tty0 c 4 0
mknod tty1 c 4 1
.......
9) 拷贝内核文件,重命名为vmlinuz
cp /boot/vmlinuz-2.6.xxxx /mnt/hda1/boot/vmlinuz
10) umount /mnt/hda1
11) 使用grub引导。执行grub命令,
grub
#root (hd0,0)
#setup (hd0)
提示制作grub引导成功
12) 重起。从硬盘启动。。。启动到最后,会出现init失败,系统panic
13) 制作inittab
再次从光盘启动knoppix。
mount /dev/hda1 /mnt/hda1 && cd /mnt/hda1
cd etc && cat inittab
>#id:3:sysinit:/etc/rc.d/rc.init 启动时的系统设置,这里可以不要
>tty1::respawn:/bin/mingetty tty1
>tty2::respawn:/bin/mingetty tty2
......
>tty6::respawn:/bin/mingetty tty6
>END
这里只配置了6个登录控制台。因为mingetty会调用login来让用户登陆,而login又依赖/etc/passwd来
检查用户的合法性,而login又需要 /etc/nsswitch.conf来描述如何读 /etc/passwd数据库,所以我们要配置
这两个文件.
cat >> /mnt/hda1/etc/passwd <<END
>root::0:0::/home:/bin/bash
>END
cat >> /mnt/hda1/etc/nsswitch.conf <<END
>passwd: files
>shadow: files
>group: files
>hosts: files dns
>END
/etc/shadow是passwd的影子文件,起保护密码作用。/etc/group是描述组的文件。这里这两个文件都忽略了。
还可以建一个/etc/issue文件,用作每次提示用户登陆之前的提示信息,
cat >> /mnt/hda1/etc/issue <<END
> HELLO, WELCOM!
>END
另外,还需要拷贝/lib/libnss_xxx.so 到 /mnt/hda1/lib/
umount /mnt/hda1
14) 从硬盘重起。。。。
HELLO,WELCOM!
(none)login:
输入root就可以登陆了,可以用alt+F1~F6来切换控制台。
写得比较简单,如果写详细有太多的内容。
- 自己动手制作linux硬盘启动
- Linux下制作ubuntu系统的u盘启动版LiveCD和直接硬盘启动LiveCD
- 制作USB硬盘启动-WINPE系统
- Linux硬盘启动相关命令
- Linux启动屏幕制作
- 制作linux启动logo
- linux从硬盘制作ISO镜像
- 自己动手制作USB启动盘
- 自己动手制作USB启动盘
- 自己动手制作USB启动盘
- 自己动手 制作makefile
- 自己动手制作RPM包
- 自己动手制作一台四位计算机
- 自己动手制作一台四位计算机
- 自己动手制作RPM包
- 自己动手制作一台四位计算机
- 自己动手制作一台四位计算机
- 使用U盘制作linux启动盘,并且成功安装Linux系统后,拔掉无法再次启动linux,修复引导区到硬盘
- VB编写的登录局域网内的sql2000数据库服务器代码
- WEB页面效果常用javascript脚本
- http Chunked
- 你 --- 短诗四句
- C++编程人员容易犯的10个C#错误
- 自己动手制作linux硬盘启动
- 2006-06-12无所事事的一天
- 使用Lua5.1互相调用函数
- 软件测试工程师面试问题
- 公布《编程的奥秘》配套升级版《.NET 2.0面向对象程序设计(VB2005篇)》写作构想及全书目录
- Swing是MVC设计的典范
- 用JDOM建立XML文件
- [手持设备大作业]之前的工作
- 索引结构与散列技术 POWERBY CHenCHengNET