project02 U盘系统与排错系统

U盘系统与排错系统

制作U盘系统的两个主要目的:

1、以U盘为救援系统来修复有故障无法启动操作系统

修复步骤:

1)选尝试从单用户模式启动(内核和基本服务,可以参考/etc/rc.d/rc1.d/S..)

2)如果单用户模式也无法正常启动,可以考虑从光盘或者是U盘启一个linux操作系统,首选使用U盘

2、通过U盘系统的制作让你更了解一个主机上linux系统组成,以及启动流程

LINUX操作系统的组成:

内核 SHELL 应用程序 文件系统

内核

核心文件    vmlinuz

临时根文件  initrd(initramfs)

内核的库    /lib/modules/`uname -r`

SHELL(bash|csh|ksh)

应用程序(基本的命令coreutils|配置文件setup)

# rpm -qf /bin/ls

coreutils-8.4-19.el6.x86_64

# rpm -qf /etc/passwd

setup-2.8.14-16.el6.noarch

文件系统 filesystem

# rpm -qf /

filesystem-2.4.30-3.el6.x86_64

用户登录系统----对系统操作(filesystem) ------ 用户接口(应用程序) ----命令(SHELL[命令解释器]) ----- 调用库文件(api)---对内核发出指令 ----- 内核接口(*.ko) ----硬件(磁盘|内存|CPU|显卡)

回顾linux启动流程

RHEL5 基于init方式 <串行启动>

RHEL6 基于init+systemV <并行启动>

-----grub1

RHEL7 基于systemd方式 (引导器grub2)

第一部分   MBR

BIOS --- HD ---- 512MBR表(bootloder引导记录446+DPT分区表4*16+checksum2)

第二部分   引导器 GRUB <加载MBR表>

GRUB组成

stage1   引导表MBR

stage2   grub.conf

stage1_5 (grub.exe本身,驱动包括磁盘,raid卡,文件系统,挂载/boot stage2的grub.conf)

bootloder --装载--stage1 ---- stage2(grub.conf)---menu.lst ---- stage1_5 ---DPT --- 挂载boot分区

root (hd0,0) ---挂载/dev/sda1

读取内核的核心文件vmlinuz

读取临时操作系统  initramfs

第三部分  启动第一个独立进程init

init ---> /etc/inittab ---> rc.sysinit ---mount -a /etc/fstab ---- 读取runlevel ----- /etc/rc.d/rcX.d --- /etc/rc.local

K关闭 S启动

部署U盘系统

1 清空U盘的分区表

[[email protected] ~]# umount /media/* -l

[[email protected] ~]# dd if=/dev/zero of=/dev/sdb bs=500 count=1

2 格式化U盘为ext4格式 将U盘定义第一个分区为可引导分区

[[email protected] ~]# fdisk -cu /dev/sdb

Command (m for help): n

Command action

e   extended

p   primary partition (1-4)

p

Partition number (1-4): 1

First sector (2048-15646719, default 2048):

Last sector, +sectors or +size{K,M,G} (2048-15646719, default 15646719):

Command (m for help): a

Partition number (1-4): 1

Command (m for help): p

Disk /dev/sdb: 8011 MB, 8011120640 bytes

247 heads, 62 sectors/track, 1021 cylinders, total 15646720 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000

Device Boot      Start         End      Blocks   Id  System

/dev/sdb1   *        2048    15646719     7822336   83  Linux

Command (m for help): w

3 安装文件系统 <基础的目录 /bin /home /var>

[[email protected] ~]# mkdir /mnt/usb/

[[email protected] ~]# mount /dev/sdb1 /mnt/usb/

新建内存目录

[[email protected] ~]# mkdir /dev/shm/usb

[[email protected] ~]# yum -y install filesystem --installroot=/dev/shm/usb/

4 安装应用程序与SHELL

coreutils openssh-clients rpm yum net-tools bind-utils passwd vim-enhanced findutils bash util-linux lvm2 util-linux-ng

[[email protected] ~]# yum -y install coreutils openssh-clients rpm yum net-tools bind-utils passwd vim-enhanced findutils bash util-linux lvm2 util-linux-ng --installroot=/dev/shm/usb/

将数据写入到U盘

[[email protected] ~]# cp -av /dev/shm/usb/*  /mnt/usb/

5 安装内核

[[email protected] ~]# cp  /boot/vmlinuz-2.6.32-279.el6.x86_64  /mnt/usb/boot/

[[email protected] ~]# cp /boot/initramfs-2.6.32-279.el6.x86_64.img /mnt/usb/boot/

[[email protected] ~]# cp -av /lib/modules/2.6.32-279.el6.x86_64/ /mnt/usb/lib/modules/

查看/boot/initramfs-2.6.32-279.el6.x86_64.img 是否有usb驱动器

[[email protected] ~]# lsinitrd /mnt/usb/boot/initramfs-2.6.32-279.el6.x86_64.img  |grep usb-storage

-rwxr--r--   1 root     root       128264 Jun 14  2012 lib/modules/2.6.32-279.el6.x86_64/kernel/drivers/usb/storage/usb-storage.ko

6 安装Grub

--安装grub软件

[[email protected] ~]# rpm -ivh ftp://192.168.0.254/pub/rhel6/dvd/Packages/grub-0.97-77.el6.x86_64.rpm --root=/mnt/usb/ --nodeps

Retrieving ftp://192.168.0.254/pub/rhel6/dvd/Packages/grub-0.97-77.el6.x86_64.rpm

warning: /mnt/usb/var/tmp/rpm-tmp.1gHYSb: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY

Preparing...                ########################################### [100%]

1:grub                   ########################################### [100%]

--安装grub驱动程序  grub-install

[[email protected] ~]# grub-install --root-directory=/mnt/usb/ --recheck  /dev/sdb

grep: /mnt/usb//boot/grub/device.map: 没有那个文件或目录

mv: 无法获取"/mnt/usb//boot/grub/device.map" 的文件状态(stat): 没有那个文件或目录

Probing devices to guess BIOS drives. This may take a long time.

Installation finished. No error reported.  ---安装成功 没有错误报告

This is the contents of the device map /mnt/usb//boot/grub/device.map.

Check if this is correct or not. If any of the lines is incorrect,

fix it and re-run the script `grub-install‘.

(fd0)/dev/fd0

(hd0)/dev/sda

(hd1)/dev/sdb

[[email protected] ~]# ls /mnt/usb/boot/grub/

device.map     fat_stage1_5  iso9660_stage1_5  minix_stage1_5     stage1  ufs2_stage1_5    xfs_stage1_5

e2fs_stage1_5  ffs_stage1_5  jfs_stage1_5      reiserfs_stage1_5  stage2  vstafs_stage1_5

新建grub.conf

[[email protected] ~]# cp /boot/grub/grub.conf /mnt/usb/boot/grub/

[[email protected] ~]# blkid  /dev/sdb1

/dev/sdb1: UUID="a0f87eaa-205f-4e35-99bf-f9b806359caf" TYPE="ext4"

[[email protected] ~]# vim /mnt/usb/boot/grub/grub.conf

default=0

timeout=5

splashimage=/boot/grub/splash.xpm.gz

title My Usb System From Hugo

root (hd0,0)

kernel /boot/vmlinuz-2.6.32-279.el6.x86_64 ro root=UUID=a0f87eaa-205f-4e35-99bf-f9b806359caf selinux=0

initrd /boot/initramfs-2.6.32-279.el6.x86_64.img

完善配置文件与系统

/etc/fstab

/etc/passwd|group|shadow

[[email protected] ~]# vim /mnt/usb/etc/fstab

UUID="a0f87eaa-205f-4e35-99bf-f9b806359caf"  /  ext4 defaults 0 0

tmpfs                   /dev/shm                tmpfs   defaults        0 0

devpts                  /dev/pts                devpts  gid=5,mode=620  0 0

sysfs                   /sys                    sysfs   defaults        0 0

proc                    /proc                   proc    defaults        0 0

设置root用户为空密码登录

[[email protected] ~]# sed  -i s/root:x:/root::/ /mnt/usb/etc/passwd

定义环境变量

[[email protected] ~]# cp /etc/skel/.bash* /mnt/usb/root/

[[email protected] ~]# chroot /mnt/usb/

[[email protected] /]# exit

exit

定义主机名

[[email protected] ~]# vim  /mnt/usb/etc/sysconfig/network

NETWORKING=yes

HOSTNAME=usb.hugo.edu

[[email protected] ~]# cp /etc/sysconfig/network-scripts/ifcfg-eth0  /mnt/usb/etc/sysconfig/network-scripts/

[[email protected] ~]# vim /mnt/usb/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

BOOTPROTO=none

IPADDR=192.168.0.100

NETMASK=255.255.255.0

ONBOOT=yes

[[email protected] ~]# sync  --同步数据

[[email protected] ~]# umount /mnt/usb/

---测试 重启设备 从U盘引导启动

--------------------------------------------------------------------------------------------------

Trouble Shotting  排错系统

LINUX操作系统的组成:

1、kernel

2、中间件软件

3、应用软件

级别一:应用软件运行有问题

解决:看日志(debug)

级别二:启动问题(需要非常熟悉启动流程)

LINUX的系统级别模式:

1、正常模式(35)

2、单用户模式

3、从第三方介质启动一个救援系统,通过这个系统来修复损坏系统

什么是救援模式:

从第三方介质启动操作系统,用于维护硬盘中已经损坏的操作系统。

什么情况下使用救援模式:

原系统无法正常启动,单用户模式也无法启动,这时可以考虑从网络或者光盘中启动救援系统。

如果单用户模式能使用就使用单用户模式。

进入救援模式的方法:

1、从安装光盘启动在安装系统的介面输入:linux rescue

2、从网络启用救援模式:label_name(相应的系统标签), tab键之后加上 “linux rescue” 这个参数

3、从U盘启动一个救援系统

+++++++现象+++++++

****故障出现在第一部分*******

1.MBR丢失,启动系统停滞不前

a.从网络启动救援系统: 标签 linux rescue

b.找出原来分区结构

c.修复主引导记录(mbr)

第一种方法修复mbr

grub-install --root-directory=/mnt/linux --recheck /dev/sda

第二种方法修复mbr

grub

grub> root (hd0,0)

grub> setup (hd0)

****故障出现在第二部分********

2.出现grub>停滞不前 (mbr已经引导完毕将启动权限交给grub,但grub.conf丢失)

a.从救援模式重启后,手工配置grub来引导操作系统

b.手动引导grub ,进入系统之后 新建grub.conf文件

c.进出救援模或者单用户模式重建grub.

****故障出现在第三部分********

1>初始化过程中配置文件或者命令丢失

/etc/fstab文件丢失

mount命令丢失

a 进入救援模式(修复fstab文件|修复mount命令)

2> 反复重启

检测

/etc/inittab

/etc/rc.d/rc.sysinit

/etc/rc.local

3> 管理员没密码/普通用户无法登录:

a.进入单用户模式

b.修改密码

c. init 5

4> 配置文件的权限基于目录的权限

/tmp

======================================

1> 从网络引导 进入Rescue模式

2> 通过查看分区表fdisk -l 以及挂载分区 df -h

判断结论: MBR丢失?

查看系统的MBR表是否完整

dd if=/dev/sda of=./mbr bs=512 count=1

hexdump mbr

--不完整

修复MBR

2种方式

可以使用光盘的救援模式

setup模式(stage1|stage2|stage1_5存在)

grub> root (hd0,0)

grub> setup (hd0)

U盘的救援模式

grub-install模式  (stage1|stage2|stage1_5不存在)

1) 先安装grub软件

2) 挂载boot分区与根分区(LVM)

挂载根分区的lv的时候 发现不了lvm

激活vg

vgchange -ay VGNAME

mkdir /mnt/root/

mkdir /mnt/root/boot

mount /dev/mapper/vol0-root /mnt/root

mount /dev/sda1 /mnt/root/boot

3) grub-install

grub-install --root-directory=/mnt/usb/ --recheck  /dev/sdb

修复grub.conf

进入U盘系统 重新定义grub.conf

mkdir /mnt/root/

mkdir /mnt/root/boot

mount /dev/mapper/vol0-root /mnt/root

mount /dev/sda1 /mnt/root/boot

vim /mnt/root/boot/grub/grub.conf

default=0

timeout=5

splashimage=(hd0,0)/grub/splash.xpm.gz

title RedHat 6.3 Os

root (hd0,0)

kernel /vmlinuz-2.6.32-279.el6.x86_64 ro root=/dev/xxx

initrd /initramfs-2.6.32-279.el6.x86_64.img

--------------------直接进入单用户模式修复

修复init 信息

/etc/inittab /etc/rc.d/rc.sysinit  /etc/fstab  /etc/rc.local

丢失mount命令

进入U盘系统  修复mount命令

丢失配置文件 /etc/fstab

系统不断重启

/etc/inittab -- 无级别

rc.sysinit   -- 追加reboot

/etc/rc.local  --reboot

管理员密码锁定

/etc/passwd 与/etc/group   权限

tmp目录的权限

时间: 2024-12-26 11:04:14

project02 U盘系统与排错系统的相关文章

用U盘安装Ubuntu主系统

用U盘安装Ubuntu主系统 0. 学习Ubuntu系统的的动机 ubuntu系统在服务器方面上的优势, 1. 下载Ubuntu 2. 下载制作U盘启动盘的工具 网址: http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/ 下载后的文件如下: 推荐玩Ubuntu的几个网站 (1)http://www.playubuntu.cn/ (2)http://www.searchsv.com.cn/showcontent_6

菜鸟U盘安装Ubuntu14.04系统

最近开始工作了,公司电脑是Ubuntu,可是我自己一直用的Windows系统,为了尽快熟悉Ubuntu,我决定自己装个系统玩玩.我是个标准的菜鸟,从没装过系统,就百度了一把,自己装了.以下是我自己的方法: 一:准备工作 1. 保证电脑硬盘上有10G空闲空间 2. 一个U盘,保证有2G空闲空间 二:去官网下载Ubuntu系统 网址:http://www.ubuntu.com/download/desktop,我下载的是Ubuntu 14.04 LTS,64bit.可以根据需要选择不同版本,下载完成

使用u盘安装os&#160;x系统

从 App Store 下载 OS X 安装器 请执行以下步骤下载要安装的 OS X 版本. 1. 从 Apple 菜单中,选取“App Store”. 2. 按住 Option 键并点按“已购项目”标签.您应该可以看到您以前购买的 OS X 版本.如果您看不到您的已购项目,请使用您以前用于安装 OS X 的 ID 登录 App Store. 3. 点按您要下载的 OS X 版本旁的“安装”按钮. Mac App Store 通常会在“已购项目”面板中显示 OS X 为“已安装”.当您的 Mac

软件魔方制作系统启动盘并安装win10系统

推荐软件:软件魔方 http://mofang.ruanmei.com/ 这里,我想说的是,这个软件来制作系统盘,是真的方便和好处多多.具体我不多说,本人也是用过其他的如大白菜等等. 最后,还是推荐软件魔方,重要的事情,说三遍!!!软件魔方,软件魔方,软件魔方. 第一步:打开软媒魔方 第二步:下载Win10镜像后,在软媒魔方(点此下载)“应用大全”找到软媒U盘启动,如下图 第三步:刚新安装的,需要下载它(U盘启动). 第四步:按照图中的提示,只需要选择好U盘(最好4GB以上)和镜像后,点击“开始

怎么使用启动U盘给电脑装系统呢?——————【Badboy】

[以下经验] 怎么使用启动U盘给电脑ghost系统呢?安装ghost系统的步骤方法复杂吗?有些不懂安装系统的朋友会认为安装ghost系统非常复杂,一直都学不好.下面就看看小编为大家分享的ghost系统操作方法吧! 方法/步骤 第一步:准备启动U盘. 第二步:然后下载一个镜像文件,将ghost文件copy到U盘GHO目录,把文件名修改成"auto.gho".然后拔出U盘,重启电脑. 第三步:然后进入到WINPE功能选择界面,选择运行U大师微型PE(适用老机). 第四步:进入到winpe启

U盘快速装ghost系统

U盘装系统U盘装系统是目前最常用的系统安装方式.特别适合于未安装光驱的台式机或超薄笔记本电脑上.小编为了给这类无光驱用户提供最大的便利,将在本文中为大家讲解最详细的U盘装系统教程. 您需要准备一个空的U盘(注意U盘中的重要数据请及时的备份出来,最好提前格式化U盘,U盘容量不小于4G) 第一步:1.下载大白菜U盘制作软件到你的电脑中: 2.下载GHOST WIN7系统镜像或者其他windows操作系统镜像到你的电脑中:(推荐系统下载:2014最新ghost win7电脑系统下载) 第二步:首先插入

U盘快速&#8203;安装Ubuntu系统

U盘快速安装Ubuntu系统 在Windows系统环境下,此向导旨在帮助大家借助U盘安装Ubuntu. 准备工作: 准备1个U盘,至少2GB空间,做好资料备份,因为U盘会被格式化: 查看打算安装Ubuntu系统的电脑是否支持U盘启动: 系统硬件配置要求:384MB以上内存,6GB以上可用硬盘空间,CPU主频700MHz  以上: 互联网连通. 下载镜像: 下载Ubuntu系统安装镜像文件. 下载地址:www.ubuntu.com/getubuntu/download. 制作U盘启动盘: 下载U盘

使用U盘为虚拟机安装系统

前提:使用虚拟机安装WIN8系统时,由于WIN8镜像文件大于4G无法使用虚拟安装,所以使用U盘安装. 1.装有U盘启动的WINPe系统 2.虚拟机从U盘安装系统 (1)编辑虚拟机-添加硬盘 (2)使用物理磁盘 (3)设备选择PhysicalDrive1 (4)选择默认选项 (5)BIOS更改启动顺序 (6)选择WIN8 PE标准版 (7)使用DiskGenius工具进行分区 (8)选择老毛桃装机工具进行装机 (9)点击上图确定后开始安装 (10)系统安装好后启动有报错如下,更新一下bios启动顺

制作linux系统U盘并使用U盘安装CentOS7.6系统

目录   一.制作linux启动盘     1.1. 准备工作     1.2. 制作linux系统U盘   二.使用U盘安装Centos7.6     2.1. 使用U盘启动     2.2. 更改安装配置     2.3. 开始安装 回到顶部 一.制作linux启动盘 使用光盘刻录软件将系统镜像刻录到U盘后使用U盘安装系统. 1. 准备 1个大于8GU盘(最小1G以上,最好8G) 官方系统镜像(CentOS7-1810) 光盘刻录软件(UltraISO) 2. 制作linux系统优盘 1)