实验环境:删除boot上的几个主要个文件:


config-2.6.18-164.el5
grub
initrd-2.6.18-164.el5.img
symvers-2.6.18-164.el5.gz
System.map-2.6.18-164.el5
vmlinuz-2.6.18-164.el5
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

修复过程:

1.先入放入光盘,从CD-ROM启动Linux,进入Linux急救模式
boot: linux rescue
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
2.挂载光盘, 安装被删文件所需要的rpm包
mount /dev/hdc /mnt/source
rpm -ivh --root=/mnt/sysp_w_picpath /mnt/source/Server/kernel-xxx.rpm --force

3.安装grub,手工编写grub配置文件
chroot /mnt/sysp_w_picpath   #更改root目录
grub-install /dev/sda   #安装grub
vim /boot/grub/grub.conf
default=0 #默认加载第几个系统,从0起算
timeout=5 #启动时停留在Grub配置界面中的时间
splashp_w_picpath=(hd0,0)/grub/splash.xpm.gz #Grub的背景图片
hiddenmenu #是否隐藏菜单
title Red Hat Enterprise Linux Server (2.6.18-8.el5) #操作系统的标题
root (hd0,0) #操作系统的引导分区
kernel /vmlinuz-2.6.18-164.el5 ro root=LABEL=/ rhgb quiet #设置加载的内核
initrd /initrd-2.6.18-164.el5.img4 #设置加载必要的驱动(内存磁盘文件)

4.退出,重启
exit
sync
reboot

说明:grub.conf

 default - 默认引导的菜单条目。
timeout - 自动选择默认引导前菜单显示的时间。本例中,如果用户没有在 5 秒之内选择操作系统,则会默认引导第一个条目 (即default 0)
splashp_w_picpath - 指定 GRUB 引导菜单的界面风格。(hd0,0)/grub/splash.xpm.gz,是指在第一块硬盘的第一个分区(hd0,0) 中,使用 grub 目录下的 splash.xpm.gz 文件作为界面风格。一般来讲,无需更改这个配置
hiddenmenu - 隐藏 GRUB 引导菜单。如果不想在启动时显示 GRUB 引导菜单,则删除此条目。

系统引导条目

title - 引导条目的名称。通常使用操作系统的名称做为标识,你可以自行更改这个名称,例如使用 "Fedora 12", "Fedora", 或者是 "MyLinux" 都可以。这个标题将显示在 GRUB 引导菜单中。
root - 操作系统内核和引导文件所在的磁盘分区。(hd0,0) 表示第一块硬盘的第一个分区,(hd0,2) 表示第一块硬盘的第3个分区,依次类推。 (0开始算起),这里面的root不是root用户,就是代表/
kernel - 系统内核及 boot 命令用到的参数。
initrd - 系统引导程序

boot分区是不是可以被umount的掉

我如果不删除/boot分区里面的重要的文件的话,直接umount /boot分区的话,重启会不会导致系统启动不了呢?
答案是不会。
我们可以到Linux下的/etc/fstab命令来查看Linux启动时的挂载情况及顺序
  
可以看到上面,已经定义了在启动时默认到/boot目录下去寻找启动文件,所以即便我们把boot分区umount掉了,重启后还是能够正常进入的。它是靠什么自动加载的呢?其实fstab 文件中的 defaults 就包含了 "auto" 功能,除非明确指定 noauto ,否则开机都会自动挂载。
 
简单的对etc/fstab做个介绍
/etc/fstab是用来存放文件系统的静态信息的文件。当系统启动的时候,系统会自动地从这个文件读取信息,并且会自动将此文件中指定的文件系统挂载到指定的目录。下面我来介绍如何在此文件下填写信息。
我们要关注的是它的六个域,分别为:<file system>、<mount point>、<type> 、<options>、<dump>、<pass>。
 1、<fie sysytem>。这里用来指定你要挂载的文件系统的设备名称或块信息,也可以是远程的文件系统。做过嵌入式linux开发的朋友都可能知道mount192.168.1.56:/home/nfs /mnt/nfs/ -o nolock (可以是其他IP)命令所代表的意义。它的任务是把IP为192.168.1.56的远程主机上的/home/nfs/目录挂载到本机的/mnt/nfs /目录之下。如果要把它写进/etc/fstab文件中,file system这部分应填写为:/192.168.1.56:/home/nfs/。
   如果想把本机上的某个设备(device)挂载上来,写法如:/dev/sda1、/dev/hda2或/dev/cdrom,其中,/dev/sda1 表示第一个串口硬盘的第一个分区,也可以是第一个SCSI硬盘的第一个分区,/dev/hda1表示第一个IDE硬盘的第一个分区,/dev/cdrom 表示光驱。
   此外,还可以label(卷标)或UUID(Universally Unique Identifier全局唯一标识符)来表示。用label表示之前,先要e2label创建卷标,如:e2label /dir_1 /dir_2,其意思是说用/dir_2来表示/dir_1的名称。然后,再在/etc/fstab下添加:LABEL=/dir_2 /dir_2 <type>   <options> <dump> <pass>。重启后,系统就会将/dir_1挂载到/dir_2目录上。对于UUID,可以用vol_id -u /dev/sdax来获取。比如我想挂载第一块硬盘的第一个分区,先用命令vol_id -u /dev/sda11 来取得UUID,比如是:5dc08a62-3472-471b-9ef5-0a91e5e2c126,然后在<file system>这个域上填写: UUID=5dc08a62-3472-471b-9ef5-0a91e5e2c126,即可表示/dev/sda11。Red Hat linux 一般会使用label,而Ubuntu linux 一般会用UUID。
   2、<mount point>。挂载点,也就是自己找一个或创建一个dir(目录),然后把文件系统<fie sysytem>挂到这个目录上,然后就可以从这个目录中访问要挂载文件系统。对于swap分区,这个域应该填写:none,表示没有挂载点。
       3、<type>。这里用来指定文件系统的类型。下面的文件系统都是目前Linux所能支持的:adfs、befs、cifs、ext3、 ext2、ext、iso9660、kafs、minix、msdos、vfat、umsdos、proc、reiserfs、swap、 squashfs、nfs、hpfs、ncpfs、ntfs、affs、ufs。
   4、<options>。这里用来填写设置选项,各个选项用逗号隔开。由于选项非常多,而这里篇幅有限,所以不再作详细介绍,如需了解,请用 命令 man mount 来查看。但在这里有个非常重要的关键字需要了解一下:defaults,它代表包含了选项rw,suid,dev,exec,auto,nouser和 async。
   5、<dump>。此处为1的话,表示要将整个<fie sysytem>里的内容备份;为0的话,表示不备份。现在很少用到dump这个工具,在这里一般选0。
   6、<pass>。这里用来指定如何使用fsck来检查硬盘。如果这里填0,则不检查;挂载点为 / 的(即根分区),必须在这里填写1,其他的都不能填写1。如果有分区填写大于1的话,则在检查完根分区后,接着按填写的数字从小到大依次检查下去。同数字 的同时检查。比如第一和第二个分区填写2,第三和第四个分区填写3,则系统在检查完根分区后,接着同时检查第一和第二个分区,然后再同时检查第三和第四个 分区。
 
红内容来源于作者:陈景忠http://hi.baidu.com/jingzhongchen/blog/item/8e6f552dcead7ce98b139952.html

给GRUB加密码

GRUB加密分为两种。
  1、全局加密
  2、局部加密
全局加密:
  功能:锁定启动界面,禁止了
  e  to edit the commands before booting
  a  to modify the kernel arguments before booting
  c  for a command-line
然后我们看看全局加密码后的效果。需要按P,输入全局密码才可以编辑查看commands.这样就可以保护我们的局部密码了。不输入全局密码可以直接回车开始启动系统,如果你还有局部密码,就需要输入局部密码。
 
局部加密:相对与某个特定的系统来进行控制
功能:用户必须输入密码才能进入系统。 例:(你的电脑是双系统,如果你只给一个加密的话,那么启动另一个就不需要密码)
下面我们来看看怎么实现这些功能
先说局部加密:
  由于每个系统都是由title 来标志的,所以我们局部加密就是在这个标志后加入相应的语句。
  加密分两种
  1、明文
  2、MD5加密。
  具体方法如下图
 
 上面就是对grub进行的密文加密,明文加密,就是在password后面"空格+密码"就OK,
[root@localhost ~]# grub-md5-crypt
Password:
Retype password:
$1$J7NPh/$77Q7IpLMzwetf2.adDQcN.
可以通过grub-md5-crypt来计计算MD5值,上面的MD5的值是"123456",直接拷贝到/boot/grub.grub.conf中就可以了。然后就保存退出,从新启动就需要你输入密码才能进入系统。但是我们可以在启动画面用e键编辑进入command模式就可以查看密码。我们需要怎么杜绝这种事情发生呢?那就需要全局加密,不让其他人具有编辑的权限。
全局加密:
  如上,生成一个MD5密码。然后进入/boot/grub/grub.conf (明文,直接填加明文);在第一个title标志前面加如我们的密码,如图,timeout5后面就是我们对全局的加密。
 
 这样其他人需要全局密码才能查看局部密码。
这只是简单整理以上内容,说明boot分区的修复和加密码,接着研究linux的启动过程,还linux的inodes的结构图

转载于:https://blog.51cto.com/dongdiy/366867

修复boot分区文件被删除的方法相关推荐

  1. linux引导分区被格式化修复,/boot分区、fstab文件、/bin/mount一次性被误除修复方法...

    fstab文件丢失.boot分区被删.mount文件被删解决办法 1.解决问题的思路: a.修复fatab文件 b.修复mount命令 c.修复boot分区 d.安装grub 准备:将boot分区进行 ...

  2. c语言删除文件 Windows,基于Windows API实现遍历所有文件并删除的方法

    本文实例讲述了基于Windows API实现遍历所有文件并删除的方法.分享给大家供大家参考.具体分析如下: 最近一直在学windows API,弄了一些好玩的东西(有点恶作剧了,请大家谨慎使用)... ...

  3. mumu模拟器残留文件无法删除解决方法

    mumu模拟器残留文件无法删除解决方法 卸载mumu模拟器之后发现在我的硬盘上还有文件残留,并且一直显示文件已在***打开,无法进行删除,于是我在资源管理器中禁用了nemuservice,发现还是无济 ...

  4. 计算机无法删除u盘里东西,u盘出现文件无法删除怎么办 u盘出现文件无法删除解决方法【详解】...

    u盘是我们在工作中比较常用的移动存储设备,而使用久了,没用的文件也就随之而增,那么我们就会对其进行垃圾清理,而在清理垃圾文件的过程中是否有遇到过 文件无法删除 的现象?遇到这样的现象该怎么办呢?今天I ...

  5. nul文件无法删除解决方法,巨好用

    经常文件夹中有莫名其妙的nul文件,删除不掉,强迫症让我很难受,然后就看到有人写了博客是这样解决的,首先新建一个txt文件,后缀修改为.bat,然后将这一段复制进去, DEL /F /A /Q \\? ...

  6. c盘哪些文件可以删除_Win7下C盘哪些文件可以删除?

    机子用久了之后,就会变得越来越卡,主要原因还是因为Win7系统下C盘存放着大量文件占着内存,其实C盘中很多文件是可以删除的,我们要如何知道呢?赶紧跟着小编来学学如何判定哪些文件是可以删除的吧. Win ...

  7. mysql库文件修复_mysql数据库文件修复

    多数情况下,数据库被破坏只是指索引文件受到了破坏,真正的数据被破坏掉的情况非常少.大多数形式的数据库破坏的的修复相当简单. 和前面的校验一样,修复的方式也有三种. 下面讲的方法只对MyISAM格式的表 ...

  8. 计算机清理垃圾文件丢失怎么恢复,电脑文件数据删除怎么恢复-互盾数据恢复软件...

    现在电脑是很多做办公室人的常用工具,而且电脑中不免存储了很多重要的文件数据,但是在操作电脑过程中不小心很容易把重要数据当做垃圾文件删除清理了,导致找不回来重要文件,那么电脑数据删除或者丢失了怎么才能恢 ...

  9. 服务器里的文件怎么删除

    我们都知道WinSxS是系统文件Windows目录下一个非常重要的文件夹,WinSxS文件夹里边有很多重要的组件,这些文件能够保证Windows7系统正常运行,所以WinSxS文件夹里面的文件是不可以 ...

最新文章

  1. 基于RDKit的溶解度预测的机器学习模型
  2. pandas为dataframe添加新的数据行(rows)、在dataframe后面纵向添加一行数据(数据为列表list形式)、列有不匹配将会使用NA值进行填补
  3. 计算机专业名词术语raid,RAID中的9个专业术语详解
  4. C++线程同步之事件(生产者与消费者问题)
  5. layui移动端适配_移动端适配方案
  6. v380pro设备连接失败_天猫精灵可以连接台式电脑使用吗?需要什么东西? 安装操作是哪几个步骤? 最好有图片解说!...
  7. 雷人!09年0分最具文采的高考作文
  8. Linux的cron任务的自启动判断、及启动、关闭 - Xshell命令篇
  9. php读入输入_php-读取用户输入并检查数据类型
  10. Pwn-10月25-Hitcon(三)
  11. [心情]一落千丈的反差
  12. fh 幅频特性曲线怎么画fl_只要有上、下限截止频率fH、fL、中频电压增益和(),就可绘出基本共射放大电路的幅频特性曲线...
  13. centeros安装mySQL
  14. 计算机二级职业生涯规划讲座心得,职业规划讲座心得体会-
  15. html尖角效果,CSS3之尖角标签_html/css_WEB-ITnose
  16. html音乐播放心得体会,听音乐讲座心得体会范文3篇
  17. 桂林电子科技大学校园网登录数据包抓取教程实现路由器每天自动登录
  18. PN结的空间电荷区与耗尽区
  19. 关键决策——策略模式
  20. web实现视频播放-服务端所需工作

热门文章

  1. 2.linux换源问题
  2. [BZOJ2599]Race
  3. Java面试题集(二)list与Map相关知识(1.2)
  4. 20165115 第二周学习总结
  5. 第5月第8天 jsonmodel
  6. 方法分享:有序集合分段
  7. [社会趣闻]储户召集7名亲友占满银行窗口 每次存一元
  8. 《TCP/IP详解 卷1:协议》第4章 ARP:地址解析协议
  9. Selenium 功能总结大集合
  10. iOS8 用AVAudioPlayer播放音乐(Swift)