来自 六合联盟网计算机 2019-09-05 22:28 的文章
当前位置: 六合联盟网 > 六合联盟网计算机 > 正文

修补Grub操作步骤深入分析,系统运转情势

自家是用Ghost的法子,还没到安装的步子,便是还没到改MBPAJERO的级差,此前的种类就不认了,像没事业发生一样,继续原本的主意。上面是重装win7 修复Grub操作步骤解析。

  磁盘分区介绍的相比清楚

即然那样,再进PE,干脆重新建立分区表,把主分区删了或屏蔽先。她提供了几许款磁盘工具,随意用一款。结果把任何分区表给删了,心想坏了!一切都得重装了!不甘心,重启进PE。复苏分区表,辛亏,能认,但原先的主分区是有八个分区的,将来独有二个分区,数据都丢了。好,先隐敝主分区,然后用磁盘工具修复教导。重启,现在哪些都运行不了了。原本是把MB阿斯顿·马丁DB11都给删了,没备份。麻烦麻烦,再进PE,继续修复,修复再修复,重启重启再重启,依然十二分。会不会是因为把主分区太早遮掩,并且没格式化呢?照那思路,突显并格式化主分区,修复携带windows,重启。终于步向win7安装分界面!

  initramfs与vmlinuz多个文本详解

重装win7 修复Grub更新修复centos引导。

此地质大学约介绍下怎么是MBR?GPT?MB奥迪Q5(主辅导记录)正是我们常用的分区方式,最大协助2.19TB(2的叁13回方*512byte),能够划分4个主分区或3个主分区+1个扩丰硕区。大于2.19T的硬盘就能够无法分辨全体容积,所以首先次使用3T硬盘的童鞋估算都超越刚才谈起的主题素材。
相似采纳BIOS的x86架构PC,3T硬盘做系统盘(主盘)就务须利用MB奥迪Q5分区艺术。从Vista、win7时期发轫,为了消除硬盘体积限制难题,扩展了GPT(GUID分区表)。GPT最大协理9.4ZB(1ZB=1024PB,1PB=1024EB,1EB=1024TB,即9.4ZEB=94亿TB)容积,支持1二十六个主分区(window限制,有资料介绍实际Infiniti),但运用GPT分区形式的硬盘只可以当做数据盘(从盘)使用,并且注意xp 33个人是无力回天分辨GPT分区花样的数据盘的。
其它,使用EFI(intel推出的取代BIOS的进级方案,大家知道为一种较新的BIOS)的苹果机,可能依附Itanium的window机(一般客户不用理会是什么),则能够把系统盘使用GPT分区花样。还恐怕有一种,大家常用的x86框架结构的pc,由2013年出的P67、H67、890GX等使用的UEFI BIOS的主板则可支撑系统盘使用GPT分区花样。(具体有怎么着主板协理,这里就不商讨了)
小结,一般我们利用硬盘,是BIOS+MBPRADO,大非常多正在采纳win7的童鞋能够思索数据盘(从盘)使用GPT分区花样的3T盘。UEFI BIOS的新主板可以设想系统盘(主盘)直接行使GPT,安装win7 x64。苹果机则是EFI+GPT。
当自家把3T硬盘选拔MB奥迪Q5分区样式后,会活动成为一个2T区域+一个746G区域。

鉴于设置WIN7时分区格式接纳NTFS的,下载的GRUB4DOS,要FAT32格式的,不然老是许多提醒错误,就因故有重启了多数遍。再进PE,还是使用提供的磁盘工具,又安装了好五遍,都没效果。最终安装那多少个修复教导的,此次学乖了,备份分区表和MBTiggo。重启,10四个选项,选commandline,果然进入了grub提醒符的分界面。原本的grub如下:  

与帮衬最大卷为2 TB(Terabytes)而且每一个磁盘最多有4个主分区(或3个主分区,1个扩张分区和随便的逻辑驱动器)的MBCRUISER磁盘分区的体裁相比较

#grub.confgeneratedbyanaconda  #  #Notethatyoudonothavetorerungrubaftermakingchangestothisfile  #NOTICE:Youhavea/bootpartition.Thismeansthat  #allkernelandinitrdpathsarerelativeto/boot/,eg.  #root(hd0,5)  #kernel/vmlinuz-versionroroot=/dev/hdb7  #initrd/initrd-version.img  #boot=/dev/hdb  default=1 timeout=5 splashimage=(hd0,5)/grub/splash.xpm.gz  hiddenmenu  titleCentOS(2.6.18-164.10.1.el5xen)  root(hd0,5)  kernel/xen.gz-2.6.18-164.10.1.el5  module/vmlinuz-2.6.18-164.10.1.el5xenroroot=LABEL=/rhgbquiet  module/initrd-2.6.18-164.10.1.el5xen.img  titleXP  rootnoverify(hd0,0)  chainloader+1  

GPT磁盘分区样式扶助最大卷为18 EB(Exabytes)並且每磁盘的分区数未有上限,只受到操作系统限制(最早设计硬盘分区时,留给分区表的长空决定了最多能够某个许个分区,64版Windows限制最多有1二十六个分区,那也是UEFI规定的分区表的小不点儿尺寸)。

照着输入,结果开采输入“module/vmlinuz-2.6.18-164.10.1.el5xenroroot=LABEL=/rhgbquiet“时老提示错误,变通一下,输入“module/vmlinuz-2.6.18-164.10.1.el5xen”,哈能够,继续输入“setup(hd0)”,成功!重启,明白的GRUB又并发了。

因为以往大面积的微管理器都在2TB之内,可是利用的预装win8的新网络剧本却格式为GPT,那并不方便人民群众与大家的U大师安装,因U大师安装以MB福睿斯分区legacy指引为主(超越五成第三方U盘运营都未帮忙UEFI辅导)所以预装win8的新本子要改成legacy引导,才足以安装U盘运营所以大家要在BIOS处改成“禁止使用UEFI,启用legacy”。

重装win7 修复Grub小结:时期参照了互连网的重重措施,都不曾功能,是在转移了一部分发令的情况下才安装修复成功的。所以要对现实的意况具体深入分析,找到最合适的秘技,网络或书上的材质不自然都是通用的。

有八个正规能够挑选:基础的正式分区(针对单磁盘来讲),多磁盘的raid分区,多磁盘的lvm

...

Linux系统一般需求多少个分区:Boot分区、根分区、swap分区。在这之中,必不可缺的是根分区,boot分区和swap分区可有可无。考虑到内部存款和储蓄器恐怕不足,一般保留swap分区。
分区表独有64bytes,最多只可以分成七个分区,其中扩大分区最八只好有三个。所以推举的分区方法是P+P+P+E,那样系统没有用完的长空可在系统设置完毕后根据要求活动分配。若是分区情势是P+P+P+P,那系统多余的空大校不能够使用。

 

linux 是贰个发令,它报告 grub2 程序:“请使用前面给出的这几个基本”,于是名称叫“/boot/vmlinuz-XXX”的基本将被载入内部存款和储蓄器,并读取“root=UUID=XXX”这么些分区的有的必须的公文。【这里流传的基石参数root=UUID=XXX 也能够用 /dev/ram0 这种格式,这里这几个路线 是从linux角度出发】

initrd /boot/initrd.img-XXX
initrd 也是一个下令,意思是:先用名字为“/boot/initrd.img-XXX”的文件,在内部存款和储蓄器中布局二个“设想”的根文件系统,以便于内核检查评定完硬件音信后载入必得的模块等等。
实际这一个 initrd 也足以感到是内核的一片段,只是为着保持 vmlinuz 的简要而分离出来的,有的根本以至根本没有要求那一个东东

kernel是怎么样以及有怎么着作用相信大家都很精晓,小编就相当少说了。这里首要介绍ubuntu10.04上设置的连带软件包、文件、目录以及kernel的配备格局。
有关initrd文件是干吗用的呢?
大家只要做八个简短的尝试就能够清楚了:在开机的GRUB命令行上去掉initrd这一行,然后按CTTucsonL+x运行,过会你会意识荧屏出现“kernel panic”的唤醒。
干什么会这么呢?那是因为为了减小kernle文件(vmlinuz)的轻重缓急和抓好灵活性,现在的发行版如ubuntu私下认可将硬盘接口卡如IDE,STAT,SCSI的驱动程序以模块(modules)的花样
位居initrd文件中,GRUB中去掉initrd这一行意味着initrd中的modules未有被加载kernel就不可能鉴定区别该硬盘更别提挂载上面包车型大巴根文件系统了。
initrd文件的成效主要有八个:
1、提供开机必得的但kernel文件(即vmlinuz)未有提供的驱动模块(modules)
2、担当加载硬盘上的根文件系统并施行当中的/sbin/init程序进而将开机进程持续下去【内核先以initrd /boot/initrd.img-XXX 的内部存款和储蓄器盘为根文件系统,再去加载硬盘上的根文件系统】

GRUB将kernle加载到内部存款和储蓄器并进行,kernel在运营的前期会读取并施行initrd文件中的init脚本文件并根据内部命令逐行试行,所以要掌握initrd的意义和硬盘上的根文件系统加载进度,全面分析init文件是十分重大的。在本文的第二盘部,笔者会将/boot/initrd文件展开,逐行 解读init文件.

bios+mbr

efi+gpt

uefi+gpt

pxe启动

u盘启动

光盘运维

img文件,iso文件,gho文件

 

  grub相关命令详解

grub legacy相关命令

用cat (hd0,0)/tab键试分区

help cat

help root

help kernel

help initrd

help boot

help chainloader

cat指令是用来查看文件内容的,一时我们不知道Linux的/boot分区,以及/根分区所在的地点,要查看/etc/fstab的剧情来获知,那时,大家就要用到cat (hd[0-n],y)/etc/fstab 来获得那么些内容;注意要学会用tab键命令补齐的作用;
grub> cat (     按tab 键会出来hd0或hd1之类的;
grub> cat (hd0, 注:输入hd0,然后再按tab键;会出去分区之类的;
grub> cat (hd0,6)

 

以下是grub2命令行相关命令与定义

lspci
terminal_input
terminal_output

尚未参数时,列出装有器材
ls
有参数时,列出此设施下的文书
ls (hd0,msdos5)/root/
ls (hd0,msdos3)/initramfs-4.0
ls (hd0,msdos3)/vmlinuz-4.0

linux (hd0,msdos3)/vmlinuz-4.0
initrd (hd0,msdos3)/initramfs-4.0

突显不荒谬的菜系
normal

不曾子数时,列出具有景况变量
set

 

先安装了windows二〇〇〇,用了五个主分区,hd0,0与hd0,1

再设置了fedora workstation 22 用了二个主分区是fedora的boot分区(hd0,2),第四个分区为增添分区,5分区是fedora的根分区(hd0,4),6是fedora的swap分区(hd0,5),

并且安装了grub2 到磁盘的mbr里,即磁盘的第叁个扇区,并不是运转分区的首先个扇区。

装完之后,未有win贰零零贰的起步菜单,那是用了两种艺术,grub命令行与在系统里增加菜单项,如下

新兴又安装了centos-6.5-x86_64-minimal用了多个分区,即(hd0,6)boot,(hd0,7)根分区,(hd0,8)swap分区。

结果将grub leagcy 安装到了mbr替换了原本的grub2,步入到grub leagcy的分界面,用cat (hd0,1)/tab键各种尝试来查阅win2k3所在的分区,最终用下边包车型地铁命令行能够健康运维win2001

不过好像不可能运营fedora 22,因为是4.0的水源。最后终于通过uuid运营成功了。

cat (hd0,4)/etc/fstab  查看根分区的uuid号,填入下边包车型客车root=后边

kernel (hd0,2)/vmlinuz-4.0  ro  root=UUID=c492851e-4b55-4966-adc3-30688c4a3a42

initrd (hd0,2)/initramfs-4.0

boot

提及底结论是一旦在不损坏每一个系统的运行分区的景况下,磁盘的首扇区能够专擅更换为想要的boot loader,

grub2时
安装双系统时
设置第三个linux时,选拔空闲分区,安装完后,运营时只好看到linux的grub运维分界面,无法运行windows,方法有三种
一是在grub命令行手动运营windows
二是在步入到linux里编辑文件,加多菜单项
grub>set    看到默许运行linux分区,并无windows相关选项
还索要理解windows运维分区的装置名
即通过
grub>ls
来查阅具体的器具名
于是乎编辑vi /boot/grub2/grub.cfg
增加菜单项就能够
menuentry "win2003" {
    set root='hd0,msdos1'
    chainloader +1
    boot
}

 

调用另三个运行器,如
chainloader (hd0,1)+1
调用第一硬盘第一分区教导扇区内的运转器,能够是windows或linux的运行器

安装了centos-6.5-x86_64-minimal
上面包车型客车代码好像是grub leagcy的
title win2003
rootnoverify (hd0,5)
makeactive
chainloader +1
boot

连锁文书与目录
/etc/grub.d/
/etc/default/grub
/boot/grub/grub.cfg
/usr/lib/grub/i386-pc/

Grub 命令行专门的职业历程。电脑运维后,BOIS先做自检等职业,然后BOIS会加载磁盘的首先扇区(512字节)到内部存款和储蓄器某处,然后跳转到该处实践代码,这段代码就是下边所说的Grub写入MBLacrosse的一些,这段代码有Grub第二片段在磁盘上的职位音信,这段代码就是基于此音讯加载第二有些,第二某些才是Grub的宗旨,第二有的会读取/boot/grub/grub.conf配置文件,然后根据此布署文件弹出顾客界面,你见到的那多少个菜单采取项便是那样来的,当然,你也可以按字母键‘C’步向命令涨势势。

GRUB援救直接和链式装载的辅导格局。GRUB能用来大约全数操作系统,绝大多数风靡的文件系统,以及差十分的少具备的系统BIOS所能识其他硬盘。 GRUB的特性注意:如若LILO已经被安装,并且是当下的系统指引装载程序,那并不曾须求为了选拔GRUB而除去它。
免除GRUB在MBKuga的残留消息- Linux系统相关- ELM’s Blog
估值抢先六分之三Linux初学者会境遇把Grub安装到MBCR-V上去了,未来不想用Linux,直接用分区工具把Linux分区给删除了,结果导致系统不可能起动,具体恢复措施有众多,可是有个别时候也很僵硬: 1、就算能用光盘运营,那么使用光盘运营到dos,使用fdisk /mbr就解决了。

  是不是想让系统直接开发银行到Windows,不出新Linux的Grub(或LILO)带领分界面(Solution 1~3),可能是在Windows中删去了Linux分区后不能正确运行Windows,而滞留在“grub>”提醒符处,如何是好(Solution 4)? 请往下看,这里给您提供二种实用的秘诀:
  Solution 1
  用DOS命令fdisk复苏主引导扇区MB昂Cora(Main/Master Boot Record)
  ---用win98的教导盘或DOS辅导盘指引系统到纯DOS提醒符下,施行:”fdisk /mbr”就可以。
  Solution 2
  在Linux系统中,恢复MB福特Explorer。(假若你还是能登入到Linux系统中的话)
  ---在顶峰的下令提醒符后输入: “dd if=/boot/boot.NNNN of=/dev/hda bs=446 count=1″
  注意,当中bs(buffer size)是指重写的字节数。为何不是512吗?主指引扇区是贰个扇区(512字节呀),因为大家只是想通过扇面包车型的士授命修复系统MBSportage的教导或删除 Grub/LILO辅导;并不是过来整个主指点扇区。所以咱们只把主指导扇区的备份文件boot.NNNN的前4肆15个字节重写入主教导扇区。 boot.NNNN是大家在安装Linux在此以前全部主指引分区的备份。固然我们把511个字节全体写入主引导扇区就可能会把安装了Linux后改变了的硬 盘DPT表也毁掉掉。那就坏事了!!! (MB传祺的512字节中前446字节为指导程序,紧跟着前面64字节为分区表,最终边2个字节为了却标识)
  Solution 3
  假令你的fdisk不佳使,恐怕Linux已经翘翘了,不用焦急,上帝关上了有着的门,但是她一定会为你留下一扇窗户,上面包车型大巴工具可意帮忙您:
  Clear MBR 0.9:
  ---直接运转奉行“Clear MBENCORE”就可以,自身有测量检验过,相对安全,敬请放心使用。
  Solution 4
  Linux的分区已经被您从Windows中去除,系统运行后停在“grub>”提醒符处。(方法一:遵照Solution 1的法子,方法二:如下)
  ---在“grub>”提示符后输入:“rootnoverify (hd0,0)” 回车。 //将第一块硬盘(hd0)的第叁个分区(0)设为根分区/root设备,但不加载文件系统。
  ---在“grub>”提醒符后输入:“chainloader +1” 回车。//将运维指点权转交给当下分区的首扇区(Windows系统所在分区的首扇区)。
  ---在“grub>”提示符后输入:“boot” 回车。系统将起动Windows。要是不成事,则申明 (hd0,0) 不是 Windows 系统所在分区,再从第一步开头试一下“root (hd0,1)/root (hd0,2)/root (hd0,3)/…”,由此可知那样自然能够携带运营你的Windows系统。
  ---好了,进入Windows了,请选用Solution 3的艺术,轻易搞定!

 

  bootloader相关

 

 

pxelinux.0文件详解

yum install  syslinux安装那么些包后才有pxelinux.0这么些文件

vmlinuz文件详解

initrd.img文件详解

stage2.img文件详解

 

 

 

事件重放

因有一台老式台式机想要安装系统,光驱刻盘麻烦,u盘教导不帮助,看到能够pxe运维,由此去实施,也算复习一下pxe项目

piii cpu,256M内部存款和储蓄器,搞了半天硬盘坏着,怪不得一到格式化磁盘时,报错找不到驱动器。最终舍弃。

 

两台机械

server端:cenots6.6-64-minimal  tftp,dhcp,

client端:pxe

 

关闭iptables
chkconfig --level 2345 iptables off
关闭selinux
vi /etc/sysconfig/selinux
重启服务器
reboot

尽管是http方式安装软件包,就没有须要nfs了,不然须要nfs

选拔http形式时,填写八个内容

1.ping mirror.symnds.com  得到ip地址63.245.196.124

2.填入这么些路子  /distributions/CentOS-vault/4.5/os/i386/

yum install dhcp
yum install nfs-utils
yum install tftp-server
vi /etc/xinetd.d/tftp
service xinetd start

cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf
vi /etc/dhcp/dhcpd.conf
cd /var/lib/tftpboot/
mkdir pxelinux.cfg
yum install mlocate
yum install syslinux
updatedb
locate  pxelinux.0
cp /usr/share/syslinux/pxelinux.0 ./

必然要拷贝34位的源文件,一同头不通晓,弄了个64,结果在boot:界面时,报错提醒才知道。选择的是centos-4.5的源,新的源,有些驱动恐怕不协助。

 

cp /mnt/isolinux/vmlinuz ./
cp /mnt/isolinux/initrd.img ./
cp /mnt/isolinux/isolinux.cfg pxelinux.cfg/default

将disable改为no
vi /etc/xinetd.d/tftp

讲解掉这两行
#option domain-name "example.org";
#option domain-name-servers ns1.example.org, ns2.example.org;

修改成上边包车型客车
# A slightly different configuration for an internal subnet.
subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.6 192.168.1.8;
  option routers 192.168.1.3;
  allow bootp;
  allow booting;
  next-server 192.168.1.112;
  filename "/pxelinux.0";
}

filename中 一定是/pxelinux.0,不能够有任何,不然大概现身上面报错

停留在这里
could not find kernel boot image
boot:

好端端景况下到boot这里时,回车就能够

要不就是输入vmlinuz,运转一段时间后,还是出现上面报错,最终崩溃不可能运行。
VFS: Cannot open root device "null(0)" or unknown-block(253,0)
Please append a correct "root=" boot option; here are the available partitions:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(253,0)

 

镜像

 

工具

Roadkils Disk Image    

win32 disk imager          A tool for writing images to USB sticks or SD/CF cards

physdiskwrite

winimage          

 

本文由六合联盟网发布于六合联盟网计算机,转载请注明出处:修补Grub操作步骤深入分析,系统运转情势

关键词: