grub修复和安装及linux系统裁剪

一.grub修复

1.模拟grub.conf损坏

#mv grub.conf grub.conf.bak

重启,直接进入命令行模式

grub>

2.手动配置grub

grub>root (hd0,0) (使用find和tab键自动补全功能,找到grub所在分区)

grub>kernel /vmlinuz....  ro root=/dev/root(系统自己找不到的话,只能自己凭记忆)quiet

grub>initrd /initramfs....img

grub>boot

重写grub.conf即可

3.模拟grub损坏

#dd if=/dev/zero of=/dev/sda bs=100 count=1

4.使用光盘进入救援模式,进入到命令行

第一种安装方式#chroot /mnt/sysimage/

#grub

grub>root (hd#,#)

grub>setup (hd#)

grub>quit

第二种方式

#chroot /mnt/sysimage

#grub-install --root-directory=/(指定boot所在的目录) /dev/sda

#sync(将内存数据加载到硬盘上)

缺少配置文件时,需要自己写grub.conf

二.系统裁剪

1.给目标磁盘分区

两个分区:

宿主机上:/dev/sdb1, /dev/sdb2

/dev/sdb1 挂载至 /mnt/boot

/dev/sdb2 挂载至 /mnt/sysroot

2.安装grub至目标磁盘

#grub-install --root-directory=/mnt /dev/sdb

3.复制内核和initrd文件

cp /boot/vmlinuz-Version  /mnt/boot/vmlinuz(便于简化,没有加版本号)

cp /boot/initramfs-Version.img /mnt/boot/initramfs.img

4.创建目标主机的根系统文件

mkdir -pv /mnt/sysroot/{etc/rc.d,usr,var,proc,sys,dev,lib/modules,lib64,bin,sbin,boot,src,mnt,media,home,root}

接着去移植bash等命令至目标主机的根文件系统

cp /lib/modules/2.6.32-642.el6.x86_64/kernel/drivers/net/e1000/e1000.ko /mnt/sysroot/lib/modules(便于简化,没有创建更深的目录)

5.为grub提供配置文件

vim /mnt/boot/grub/grub.conf

default=0

timeout=5

title My First MiniLinux

root(hd0,0)

kernel /vmlinuz ro root=/dev/sda2 selinux=0 init=/sbin/init(不指定也可以,系统默认会找这个可执行程序)

initrd /initramfs

6.写一个init脚本用于初始化(模拟/sbin/init)

#!/bin/bash

#

echo -e "\t\033[34mWelcome My Linux\033[0m"

mount -n -t proc proc /proc

mount -n -t sysfs sysfs /sys

insmod /lib/modules/e1000.ko

ifconfig lo 127.0.0.1/8

ifconfig eth0 192.168.0.110/16

mount -n -o remount,rw /dev/sda2 /(重新挂载根文件系统)

/bin/bash

由于脚本中用到ifconfig,insmod,mount等命令,需要将相关命令移植到我们所创建的根文件系统中(/mnt/sysroot),移植的命令时可以将其写成脚本方便移植

通过以上步骤即可完成一个简单的Linux,有网络功能

时间: 2024-10-07 19:56:26

grub修复和安装及linux系统裁剪的相关文章

Linux系统裁剪笔记之二insmod

Linux系统裁剪笔记之二 1.什么裁剪? 本篇文章的主要目的是让笔者和读者更深的认识Linux系统的运作方式,大致内容就是把Linux拆开自己一个个组件来组装,然后完成一个微型的Linux系统.下面,让我们来实现吧..写的不好的地方请指教. 2.原理 大家都知道,操作系统的启动流程是(主要是Linux):POST->BIOS->MBR-kernel-->initrd-->sbin/init, POST,BIOS都不是我们管的,所以这里我们从MBR开始,Linux的系统引导先主要是

Linux系统裁剪之四(自定义内核及busybox完成系统定制)

Linux系统裁剪之四(自定义内核及busybox完成系统定制) ·busybox busybox是一个二进制程序,可以模拟实现许许多多的Linux命令,busybox在编译安装完成之后会在我们系统的bin目录下生成一个名为busybox的二进制程序,其它的文件都是该二进制程序的软链接,几乎上百个命令都可以依靠这一个可执行程序来实现,还可以模拟几个shell,可以模拟实现我们Linux操作系统上bin和sbin目录下的很多命令,而且该文件所占的存储空间还非常的小,因此在一些存储设备容量非常小的环

Linux系统裁剪之二(Bash脚本编程之十二)

Linux系统裁剪之二(Bash脚本编程之十二) 系统函数库 ·Linux系统的启动流程     1,POST(加电自检) 计算机本身并不会执行程序,它只是一堆破铜烂铁,但是它可以在开机的时候先去载入一段程序,系统在刚刚启动的时候能够实现将某个ROM芯片中的程序映射到CPU能够寻址的地址空间中去,并且让CPU能够执行其中的指令,这些指令大部分都是用来做系统检测的,当检测完成后,如果系统中所有的基本硬件和核心硬件都没有问题的话,接下来就会根据BIOS中设定的系统启动次序(Boot Sequence

Linux系统裁剪笔记之三user

Linux系统裁剪笔记 1.什么裁剪? 本篇文章的主要目的是让笔者和读者更深的认识Linux系统的运作方式,大致内容就是把Linux拆开自己一个个组件来组装,然后完成一个微型的Linux系统.下面,让我们来实现吧..写的不好的地方请指教. 2.原理 大家都知道,操作系统的启动流程是(主要是Linux):POST->BIOS->MBR-kernel-->initrd-->sbin/init, POST,BIOS都不是我们管的,所以这里我们从MBR开始,Linux的系统引导先主要是用的

Linux 系统裁剪笔记

1.什么裁剪? 本篇文章的主要目的是让笔者和读者更深的认识Linux系统的运作方式,大致内容就是把Linux拆开自己一个个组件来组装,然后完成一个微型的Linux系统.下面,让我们来实现吧..写的不好的地方请指教. 2.原理 大家都知道,操作系统的启动流程是(主要是Linux):POST->BIOS->MBR-kernel-->initrd-->sbin/init, POST,BIOS都不是我们管的,所以这里我们从MBR开始,Linux的系统引导先主要是用的grub这个软件,gru

Cobbler全自动批量安装部署Linux系统

前言:这篇文章是系统运维www.osyunwei.com的作品,我只是根据实践了一下,出于对原作者的尊重附原文链接如下: 原文链接:http://www.osyunwei.com/archives/7606.html 根据文章的说明是可以完成所属功能的,不过原文章有点小问题,在本文中我已经修改过了,仅供大家参考,有问题大家交流,E-mail:[email protected] 安装之前的一点说明 Cobbler服务器系统:CentOS5.10 64位 IP地址:192.168.21.128 需要

安装Ubuntu Linux系统时硬盘分区最合理的方法

无论是安装Windows还是Linux操作系统,硬盘分区都是整个系统安装过程中最为棘手的环节,网上的一些Ubuntu Linux安装教程一般都是自动分区,给初学者带来很大的不便,下面我就根据多年来在合肥上门装系统的经验谈谈安装Ubuntu Linux系统时硬盘分区最合理的方法. 在讲硬盘分区之前,我先来普及一下硬盘的相关分类,硬盘一般分为IDE硬盘.SCSI硬盘和SATA硬盘三种,在Linux系统中,IDE接口的硬盘被称为hd,SCSI和SATA接口的硬盘则被称为sd,其中IDE硬盘基本上已经淘

在 VirtualBox 虚拟机中安装 Arch Linux 系统指南

How to install Arch Linux on VirtualBox 本文导航 1.Arch Linux 软件仓库2.在 VirtualBox 虚拟机中安装 Arch Linux 系统1.下载 Arch Linux 系统2.在 Oracle VirtualBox 管理界面初始化安装3.磁盘分区4.引导 Arch Linux 启动5.设置主机名和网络6.安装引导加载程序7.启动进入 Arch Linux 系统 Arch Linux 是专门为 i689 和 86-64 架构的计算机而设计的

Linux系统裁剪笔记之四busybox

Linux系统裁剪笔记之四busybox 1.什么裁剪? 本篇文章的主要目的是让笔者和读者更深的认识Linux系统的运作方式,大致内容就是把Linux拆开自己一个个组件来组装,然后完成一个微型的Linux系统.下面,让我们来实现吧..写的不好的地方请指教. 2.原理 大家都知道,操作系统的启动流程是(主要是Linux):POST->BIOS->MBR-kernel-->initrd-->sbin/init, POST,BIOS都不是我们管的,所以这里我们从MBR开始,Linux的系