知识大全 用好Linux的启动盘
Posted 系统
篇首语:我们越是忙越能强烈地感到我们是活着,越能意识到我们生命的存在。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 用好Linux的启动盘相关的知识,希望对你有一定的参考价值。
用好Linux的启动盘 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
一 为什么需要Linux启动盘 有很多理由来说明这个问题 首先它可用于启动Linux系统 其次 当系统发生错误 需要进行系统恢复时 我们需要用到它 还有 如果你喜欢经常更新系统内核的话 那么一张启动盘则是必不可少的 希望了解Linux系统组成及启动过程的朋友 如果按照本文提供的方法做下去 相信你做完启动盘之后 你 对Linux又会有新的认识 二 启动盘的类型 启动盘一般可分为如下两种 一种是只含内核(kernel)的启动盘 这种盘只含有系统内核 并不包括根文 件系统(root file system) 它在其内核中指明了根文件系统所在的位置 在启动过程中根据该参数去安装根 文件系统 也就是说 这种类型的启动盘必须和硬盘上的根文件系统配合才能使用 我们平常意义上的启动盘一 般指的就是这种类型 有些资料上也把这种盘称之为boot盘 另外还有一种类型的启动盘除了包含内核以外 还包含了文件系统 这种类型的启动盘从某种意义上来说已 经是一个完整的操作系统 由于有自己的根文件系统 这种类型的启动盘可以在没有硬盘的机器上启动一个小的 Linux系统 这种类型的盘有时也称作boot/root盘 三 启动盘的制作 boot盘的制作 很多Linux发行套件已经提供了boot盘 一般情况是在DOS下使用RAWRITE制作一张boot盘 当然这种方法是 在安装Linux之前进行制作 如果在安装了Linux之后希望再制作系统盘 请按以下步骤进行 ( )以root的身份进行登录 ( )确定内核的位置 一般情况下内核位于/vmlinuz中 当然不同的发行套件中该位置可能会有区别 可以 查看相关的文档 ( )用rdev命令设置根设备为Linux系统的根文件系统 首先查看内核中对根文件系统的配置 执行如下命令 #rdev /vmlinuz 如果你的Linux根文件系统位于/dev/hda 那么应该有如下的信息 Root Device /dev/hda 注意 该信息随你在安装时的配置不同而结果可能不同 另外还有一点值得注意的是 该设置值可能并不正 确 例如我的系统(RedHat kernel - )上的配置值就显示如下 #rdev /boot/vmlinuz Root Device /dev/sdc (显示为sdc 即第三SCSI硬盘 而我的机器上根本没有!) 但是这并不表明该配置有问题 因为nf中的相关配置项会覆蓋该值 详见boot/root盘中的分析 ( )如果上一步的显示信息和你的实际配置有偏差 可以执行如下命令进行修正 rdev /dev/vmlinuz /dev/hda (假设根文件系统位于/dev/hda 上) 再次执行rdev /vmliuz确保正确 否则做出来的盘是不会启动的! ( )拿一张已格式化的软盘(Linux下用fdformat格式化) 执行下述命令 #dd if=/vmlinuz of=/def/fd bs= 至此 一张专用于引导Linux系统的boot盘就做好了 去测试一下吧! .boot/root盘的制作 boot/root盘由两部分组成 即核心和根文件系统 要把这两部分都放到一个 MB的软盘上去 通常要对内 核和根文件系统进行压缩 压缩核心的最好方法是进行重新编译内核 将一些不必要的支持去掉 如对网络和其 它周边设备的支持 重要的一点是记住内核必须支持RAMDISK及ext 否则系统不能正常引导 关于内核的编译本 文不再阐述 下面重点介绍如何生成根文件系统的压缩包 对于根文件系统的压缩包括两方面的问题 第一是只 保留必要的根文件系统组件 第二是将根文件系统做成一个压缩包 类似于内核工作的原理 ( )根文件系统概述 一个根文件系统必须包括支持完整Linux系统的全部东西 它至少应包括以下几项 ·基本文件系统结构 ·至少含有以下目录 /dev /proc /bin /etc /lib /usr /tmp ·最基本的应用程序 如sh ls cp mv等 ·最低限度的配置文件 如rc inittab fstab等 ·设备 /dev/hd* /dev/tty* /dev/fd ·基本程序运行所需的库函数 以上所需文件一般情况下会超过 M 因此我们通常的做法是先准备好内容后再压缩到软盘中 当用软盘 启动时 再把文件解压到内存中 形成一个虚拟盘(RAMDISK) 通过RAMDISK控制系统启动 为了能创建以上的根文件系统 你必须有一个空闲的能够放下大约 MB文件的RAMDISK 系统缺省情况下已替 我们建好了一个大小为 KB的RAMDISK 其设备名一般为/dev/ram 我们就使用它来保存我们预先准备好的根 文件系统 创建根文件系统 Linux内核识别两种可以直接拷贝到RAMDISK的文件系统 它们是minix 和ext ext 性能更好 mke fs缺省 情况下在 M的软盘上产生 个信息节点 使用压缩格式的根文件系统需要更多的信息节点 所以使用如下命 令创建文件系统可以创建 个信息节点 而且一般不会用完 mke fs -m -i /dev/ram mke fs将会自动判断设备容量的大小并相应地配置自身 -m 参数防止它给root保留空间 这样会腾出更 多的有用空间 接着把虚拟盘挂在节点/mnt上 mount -t ext /dev/ram /mnt/floppy 接着是创建目录 根文件系统最少应该有如下 个目录 /dev — 设备 /proc — proc 文件系统所需目录 /etc — 系统配置文件 /sbin — 重要的系统程序 /bin — 基本应用程序 /lib — 共享函数库 /mnt — 装载其他磁盘节点 /usr — 附加应用程序 执行如下命令创建这些目录 #cd /mnt/floppy #mkdir dev proc etc sbin bin lib mnt usr 接下来的工作就是确定各个目录下的内容了 ·/dev /dev中含有系统不可缺少的设备文件 可以把现有系统中/dev的文件拷贝过来 然后删除不必要的 文件 命令cp -dpR /dev /mnt会拷贝/dev整个目录但不拷贝文件内容 dp开关保证链接文件仍然不变 不会拷 贝链接所指原文件 而且属性不变 如果你没有SCSI设备 删除所有的以sd开头的文件 如果你不想使用串口设 备 删除所有以cua开头的文件 不过记住一定要保留console kmem mem null ram tty 等文件 ·/etc 这个目录中含有一些必不可少的系统配置文件 这下面的文件比较多 那么到底哪些文件是必需 的 哪些可有可无呢?由于这下面的文件一般是一些文本文件 都不是很大 干脆全部保留算了 我的启动盘中含有不到 个配置文件 大致可分为 部分 ·rc d/* — 系统启动脚本 ·fstab — 列出要登录的文件系统 ·inittab — 包含启动过程参数 而且这些文件都是最简单的 rc应该包括 #!/bin/sh /bin/mount -av /bin/hostname yjy fstab应包括 /dev/ram / ext defaults /dev/fd / ext defaults /proc /proc proc defaults inittab包括 id: :initdefault: si::sysinit:/etc/rc : :respawn:/sbin/getty tty : :respawn:/sbin/getty tty ·/bin和/sbin 该目录中包含有必不可少的应用程序 如ls mv cat 你可以根据自己的需要选择 不过 一定要记住包括以下程序 init getty login mount 运行你的rc的外壳shell ·/lib: 该目录中包含有你的启动盘启动过程中所需要的共享函数库 如果缺少必须的函数库 系统会停止 启动或出现一大堆错误信息 所以一定要注意 几乎所有的程序都需要libc库 列一下目录/lib中的libc % ls -l /lib/libc* -rwxr-xr-x root root Apr : libc- so* lrwxrwxrwx root root Apr : libc so -> libc- so* libc so 的 表示版本号 它指向的文件才是你真正需要的 查看每一个程序使用的函数库 用命令ldd 如 % ldd /sbin/mke fs libext fs so => /lib/libext fs so ( x ) lib_err so => /lib/lib_err so ( x ) libuuid so => /lib/libuuid so ( x ) libc so => /lib/libc so ( x c ) /lib/ld-linux so => /lib/ld-linux so ( x ) 输出右边的库都是必须的 有的可能是链接文件 在/lib目录下你还必须有函数库装载器 这个装载器或是ld so (对 a out 库) 或是 ld-linux so (对 ELF 库) 新版本的ldd一般会告诉你所需库的装载器 把装载器和库拷贝到/lib后 再仔细检查一遍 一定保证没有遗漏 模块 如果你有一个模块化的内核 你还得考虑需要加载的模块 它们都位于/lib/modules 你可以把不是很重要 的模块放到别的盘上 当系统启动后再加载 这样会节省启动盘的空间 打包 一旦你完成了上述工作 卸下虚拟盘 拷贝到一个文件中 然后压缩 umount /mnt dd if=/dev/ram bs= k | gzip -v >rfs gz 压缩结束后 你就拥有了一个压缩的根文件系统 不过你得检查它的大小 如果大了 你还得删除一些东 西 .组织引导盘 有了根文件系统和内核之后 最后的工作就是把它们组织在一起 先检查总文件的大小 如果超出 MB 就得考虑重新创建所需或用两张磁盘 即使用两张磁盘 你的根文 件系统也得小于 MB 接着就是确定是用LILO控制启动还是直接用拷贝 cha138/Article/program/Oracle/201311/16681相关参考
Linux远程启动 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一远程启动原理 客户端在
如何制作RedHatLinux急救盘组 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 使用急救盘
Linux双启动环境的陷井 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 如果说Linux的安装
mysql随Linux开机自动启动 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在MySQL的
linux下Oracle自动启动与停止 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!修改Oracl
Linux下启动Oracle服务和监听程序 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 安装完
讲解linux环境下Oracle的自动启动与停止 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
如何在硬碟建置Linux系统之setup启动 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 透过
一启动 三个命令 sqlplux/nolog connect/assysdba startup 二关闭 shutdownimmediate; [oracle@zhao~]$sqlpl
如何在硬碟建置Linux系统之启动虚拟记忆体 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!