技术解析

centos7 引导挂了,弄了一早上没弄好,找大神搭救
0
2021-07-09 20:04:05
idczone

一台服务器,昨晚重启一下结果就挂了,出现 grub>那个界面,网上很多教程都试过了还是不行。
root,find 等一些命令用不了,显示: error: can't find command 'XXX'
从昨晚折腾到现在了,快崩溃了。
有没有大神有空帮小弟搭救一下
q:769853244


找一个 livecd ,任何发行版。进入系统以后运行 grub-install

不过看你的问题可能不是引导的问题。可能是内核或者 initrd.img 文件升级升挂了。
用 livecd 启动后挂载系统盘,到 boot 目录下看看。试试把 grub 启动项改到比较原来版本的内核试试看。

centos 是装在 esxi 里面的,怎么用 livecd 启动?

在控制面板挂载上 livecd 的 iso ,然后选择从 cd 启动,不过这需要管理员权限

有管理员权限,现在就是不知道怎么修了,能不能具体点说一下思路呢?

花点小费吧~
能挂这么久的服务器,还有空来 V2EX 发帖求助…

esxi 虚拟机,设置虚拟机硬件那里,光驱设置为 iso ,选择 live cd iso 。注意启动顺序要从光盘开始。

学校的服务器来的,只是学生管理。

启动顺序哪里改呀?我开了 linux 后分别狂按了 f2,del,f12 都没有见到调启动顺序的地方。

醉了

去虚拟机设置,硬件设置那里看

谢谢,进去后到了这里,
有什么适合的教程吗?

屌丝解决办法,备份数据。重装。。。

莫非 centos 所在的虚拟硬盘数据文件被虚拟机管理员给清空了?

不是啊,我就是管理员,昨天重启一下就这样了。

不到最后我是不会重装的。

你进入的那个是 grub rescue 终端,说明 grub 找不到内核了。可以用 grub 来手动引导内核启动起来,然后再重写 grub 。如果你的 grub 和我一样版本的话,可以这样试试:
ls />ls (hdX,Y )/boot/grub Linux
set prefix=(hdX,Y )/boot/grub
insmod (hdX,Y )/boot/grub/linux.mod />set root=(hdX,Y )
linux /vmlinuz root=/dev/sda5 /boot/vmlinuz.0.62.XXX
initrd /initrd.img
boot
曾经记录在这里了: http://harttle.com/2015/05/11/ubuntu-startup.html
之后我也得完整地学习一下 grub

为什么不按 ESC?控制台进去后,可能已经错过 BIOS 界面了,按 Ctrl+Alt+Insert 重启虚拟机,紧接着按 ESC

用 centos 6 吧,解决发案多, 7 新东西 不太熟 linux 的 猿们 慢慢来。

这个方法试过了,中途很多命令用不了,最后到 boot 后每次都出错了。

是啊,但是现在我要把数据救出来啊

单纯抢救数据可以把硬盘挂到其他虚拟机里。 copy 出来。

我用惯了 7 ,没见有什么问题
估计他的 boot 分区出了问题或者没挂载上,也可能是 /boot/grub2/grub.cfg 文件丢失
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/3/html/System_Administration_Guide/s1-rescuemode-boot.html
从一个现成的 CentOS7 里找来的
linux16 /vmlinuz-3.10.0-229.11.1.el7.x86_64 root=/dev/mapper/centos-root ro rd.lvm.lv=centos/root rd.lvm.lv=centos/swap crashkernel=auto net.ifnames=0 rhgb quiet console=tty0 console=ttyS0,115200n8r rootflags=uquota systemd.debug LANG=en_US.UTF-8
initrd16 /initramfs-3.10.0-229.11.1.el7.x86_64.img
https://www.centos.org/docs/5/html/5.1/Installation_Guide/s2-rescuemode-boot-reinstall-bootloader.html
方法在这, hda 是你的磁盘
chroot /mnt/sysimage
/sbin/grub-install /dev/hda

那图上,一个光盘一个小扳手在一起的那个图标,点点看?

既然你已经进到这一步了,就试一试吧, esxi 应该是 sda
chroot /mnt/sysimage
/sbin/grub-install /dev/sda

要是玩过 gentoo ,就知道这个问题怎么解了, lz 毫无动手能力,连个 livecd 都 boot 不进去,还管理个毛啊?
这个问题基本上如下步骤:
1. livecd 启动进去
2. chroot 到 centos 根目录
3. grub install /dev/?da
4. grub-mkconfig -o /boot/grub/grub.cfg
之后检查一下: grub.cfg ,看看里面的内容是否正确。

谢谢,我进去命令行了,把数据拷出来然后换个版本好了。
谢谢,我进去命令行了,把数据拷出来然后换个版本好了。

换系统,重装都是治标不治本!
不过目前应该是马上起个虚拟机,装新系统,令服务快速上线!
一边装系统,一边复制你现在虚拟系统的 vhd 文件(就是虚拟磁盘文件,我不知道具体扩展名)
新系统装好后,把 vhd 挂到新虚拟机,进 linux , mount ,配置下路径,搞定!
然后再慢慢玩原来德烂系统!

有空还是学下 grub 和其他基础的东西吧。

和之前我回复的差不多,他连先 chroot 都不会

看着头大,就差人家帮他敲键盘了。

是啊,这个问题竟然搞了我这么久,现在已经用 winscp 连上去了,在慢慢拷贝数据中,过两天要慢慢啃一下书了。

谢谢批评,因为我不是这相关专业的,平时也主要只是管前台,管后台的人不在,所以只能自己上了。

管前端的…难怪了,我估计让我们程晨或者嘉雯去也会忘记 chroot 这一步

我是建议在 livecd 提示符(如图 system is mounted...后面)加上 Please chroot to the system first

其实我也不是相关专业毕业的,并且, 06 年底开始解除, 09 年才真正接触 Linux

我在去年年末的时候才开始用 linux 呢。

如果只是安装 grub ,不 chroot 也不影响的,毕竟他的 grub 配置文件都在。

建议学下用 grub 命令行启动你的 linux ,顺便学下什么叫单用户模式, single 。

o (〃'▽'〃)o 敏姐一脱口就是两个妹子 23333

谢谢,我该去多学习一下 Linux 了。

手动引导,先进入系统,然后再重新安装 grub2 。

之前是 win10+kubuntu UEFI 引导
前几天自动更新 chrome45 结果崩了 然后去重装 tcp/ip 协议结果删除了没权限安装
然后准备给 EFI 分区备份 重装 win10 再还原 EFI 分区
结果 win10 正常 kubuntu 血崩 我手动建立的 EFI/ubuntu 一进 win10 立马被删除 secureboot 也关了
尼玛 linux 部署了恁多东西依赖关系想想都头疼..结果全重装了

谢谢!已经弄好了。

有时修复的成本(如时间)太高,还不如重装来的快。

定期备份,出现崩溃直接重装吧。在不涉及较敏感的生产线上,这是最快的解决办法啦。

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服