V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
maskerTUI
V2EX  ›  Linux

centos7 引导挂了,弄了一早上没弄好,找大神搭救

  •  
  •   maskerTUI · 2015-09-09 14:03:48 +08:00 · 9774 次点击
    这是一个创建于 3395 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    45 条回复    2015-09-10 15:18:28 +08:00
    wizardoz
        1
    wizardoz  
       2015-09-09 14:12:54 +08:00
    找一个 livecd ,任何发行版。进入系统以后运行 grub-install
    wizardoz
        2
    wizardoz  
       2015-09-09 14:15:34 +08:00
    不过看你的问题可能不是引导的问题。可能是内核或者 initrd.img 文件升级升挂了。
    用 livecd 启动后挂载系统盘,到 boot 目录下看看。试试把 grub 启动项改到比较原来版本的内核试试看。
    maskerTUI
        3
    maskerTUI  
    OP
       2015-09-09 14:34:34 +08:00
    @wizardoz centos 是装在 esxi 里面的,怎么用 livecd 启动?
    jhaohai
        4
    jhaohai  
       2015-09-09 14:37:18 +08:00
    @maskerTUI 在控制面板挂载上 livecd 的 iso ,然后选择从 cd 启动,不过这需要管理员权限
    maskerTUI
        5
    maskerTUI  
    OP
       2015-09-09 14:40:06 +08:00
    @jhaohai 有管理员权限,现在就是不知道怎么修了,能不能具体点说一下思路呢?
    loading
        6
    loading  
       2015-09-09 14:50:28 +08:00 via iPhone
    花点小费吧~
    能挂这么久的服务器,还有空来 V2EX 发帖求助…
    adrianzhang
        7
    adrianzhang  
       2015-09-09 14:53:22 +08:00
    esxi 虚拟机,设置虚拟机硬件那里,光驱设置为 iso ,选择 live cd iso 。注意启动顺序要从光盘开始。
    maskerTUI
        8
    maskerTUI  
    OP
       2015-09-09 14:54:19 +08:00
    @loading 学校的服务器来的,只是学生管理。
    maskerTUI
        9
    maskerTUI  
    OP
       2015-09-09 14:57:06 +08:00
    @adrianzhang 启动顺序哪里改呀?我开了 linux 后分别狂按了 f2,del,f12 都没有见到调启动顺序的地方。
    bozong
        10
    bozong  
       2015-09-09 15:02:01 +08:00
    醉了
    adrianzhang
        11
    adrianzhang  
       2015-09-09 15:08:41 +08:00
    @maskerTUI 去虚拟机设置,硬件设置那里看
    maskerTUI
        12
    maskerTUI  
    OP
       2015-09-09 15:20:14 +08:00
    @adrianzhang 谢谢,进去后到了这里,
    有什么适合的教程吗?
    br00k
        13
    br00k  
       2015-09-09 15:23:00 +08:00
    屌丝解决办法,备份数据。重装。。。
    pmpio
        14
    pmpio  
       2015-09-09 15:26:22 +08:00
    莫非 centos 所在的虚拟硬盘数据文件被虚拟机管理员给清空了?
    maskerTUI
        15
    maskerTUI  
    OP
       2015-09-09 15:30:34 +08:00
    @pmpio 不是啊,我就是管理员,昨天重启一下就这样了。
    maskerTUI
        16
    maskerTUI  
    OP
       2015-09-09 15:31:06 +08:00
    @br00k 不到最后我是不会重装的。
    harttle
        17
    harttle  
       2015-09-09 15:35:04 +08:00
    你进入的那个是 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
    ys0290
        18
    ys0290  
       2015-09-09 15:38:29 +08:00 via iPhone
    @maskerTUI 为什么不按 ESC?控制台进去后,可能已经错过 BIOS 界面了,按 Ctrl+Alt+Insert 重启虚拟机,紧接着按 ESC
    HavenShen
        19
    HavenShen  
       2015-09-09 15:42:40 +08:00
    用 centos 6 吧,解决发案多, 7 新东西 不太熟 linux 的 猿们 慢慢来。
    maskerTUI
        20
    maskerTUI  
    OP
       2015-09-09 15:49:19 +08:00
    @harttle 这个方法试过了,中途很多命令用不了,最后到 boot 后每次都出错了。
    maskerTUI
        21
    maskerTUI  
    OP
       2015-09-09 15:50:18 +08:00
    @HavenShen 是啊,但是现在我要把数据救出来啊
    cevincheung
        22
    cevincheung  
       2015-09-09 15:57:08 +08:00
    @maskerTUI 单纯抢救数据可以把硬盘挂到其他虚拟机里。 copy 出来。
    loveminds
        23
    loveminds  
       2015-09-09 16:08:32 +08:00
    @HavenShen 我用惯了 7 ,没见有什么问题
    @pmpio 估计他的 boot 分区出了问题或者没挂载上,也可能是 /boot/grub2/grub.cfg 文件丢失
    @maskerTUI https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/3/html/System_Administration_Guide/s1-rescuemode-boot.html
    @harttle 从一个现成的 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
    adrianzhang
        24
    adrianzhang  
       2015-09-09 16:08:44 +08:00
    那图上,一个光盘一个小扳手在一起的那个图标,点点看?
    loveminds
        25
    loveminds  
       2015-09-09 16:10:12 +08:00
    @maskerTUI 既然你已经进到这一步了,就试一试吧, esxi 应该是 sda
    chroot /mnt/sysimage
    /sbin/grub-install /dev/sda
    cattyhouse
        26
    cattyhouse  
       2015-09-09 16:15:05 +08:00 via iPhone
    要是玩过 gentoo ,就知道这个问题怎么解了, lz 毫无动手能力,连个 livecd 都 boot 不进去,还管理个毛啊?

    这个问题基本上如下步骤:

    1. livecd 启动进去
    2. chroot 到 centos 根目录
    3. grub install /dev/?da
    4. grub-mkconfig -o /boot/grub/grub.cfg

    之后检查一下: grub.cfg ,看看里面的内容是否正确。
    maskerTUI
        27
    maskerTUI  
    OP
       2015-09-09 16:15:44 +08:00
    @adrianzhang 谢谢,我进去命令行了,把数据拷出来然后换个版本好了。
    @loveminds 谢谢,我进去命令行了,把数据拷出来然后换个版本好了。
    loading
        28
    loading  
       2015-09-09 16:21:39 +08:00 via iPhone
    换系统,重装都是治标不治本!

    不过目前应该是马上起个虚拟机,装新系统,令服务快速上线!

    一边装系统,一边复制你现在虚拟系统的 vhd 文件(就是虚拟磁盘文件,我不知道具体扩展名)

    新系统装好后,把 vhd 挂到新虚拟机,进 linux , mount ,配置下路径,搞定!

    然后再慢慢玩原来德烂系统!
    loading
        29
    loading  
       2015-09-09 16:22:30 +08:00 via iPhone
    有空还是学下 grub 和其他基础的东西吧。
    loveminds
        30
    loveminds  
       2015-09-09 16:36:17 +08:00
    @cattyhouse 和之前我回复的差不多,他连先 chroot 都不会
    cattyhouse
        31
    cattyhouse  
       2015-09-09 16:53:59 +08:00 via iPhone
    @loveminds 看着头大,就差人家帮他敲键盘了。
    maskerTUI
        32
    maskerTUI  
    OP
       2015-09-09 18:04:01 +08:00
    @loading 是啊,这个问题竟然搞了我这么久,现在已经用 winscp 连上去了,在慢慢拷贝数据中,过两天要慢慢啃一下书了。


    @cattyhouse 谢谢批评,因为我不是这相关专业的,平时也主要只是管前台,管后台的人不在,所以只能自己上了。
    loveminds
        33
    loveminds  
       2015-09-09 20:35:27 +08:00 via Android
    @maskerTUI 管前端的…难怪了,我估计让我们程晨或者嘉雯去也会忘记 chroot 这一步
    loveminds
        34
    loveminds  
       2015-09-09 20:38:53 +08:00 via Android
    @cattyhouse 我是建议在 livecd 提示符(如图 system is mounted...后面)加上 Please chroot to the system first
    loveminds
        35
    loveminds  
       2015-09-09 20:39:59 +08:00 via Android
    @maskerTUI 其实我也不是相关专业毕业的,并且, 06 年底开始解除, 09 年才真正接触 Linux
    maskerTUI
        36
    maskerTUI  
    OP
       2015-09-09 20:48:50 +08:00
    @loveminds 我在去年年末的时候才开始用 linux 呢。
    loading
        37
    loading  
       2015-09-09 20:50:13 +08:00 via iPhone
    @loveminds 如果只是安装 grub ,不 chroot 也不影响的,毕竟他的 grub 配置文件都在。
    loading
        38
    loading  
       2015-09-09 20:52:02 +08:00 via iPhone
    @maskerTUI 建议学下用 grub 命令行启动你的 linux ,顺便学下什么叫单用户模式, single 。
    realityone
        39
    realityone  
       2015-09-09 23:32:17 +08:00 via iPhone
    @loveminds o (〃'▽'〃)o 敏姐一脱口就是两个妹子 23333
    maskerTUI
        40
    maskerTUI  
    OP
       2015-09-10 00:25:37 +08:00 via Android
    @loading 谢谢,我该去多学习一下 Linux 了。
    lln133208
        41
    lln133208  
       2015-09-10 10:53:55 +08:00
    手动引导,先进入系统,然后再重新安装 grub2 。
    iFlicker
        42
    iFlicker  
       2015-09-10 11:11:34 +08:00
    之前是 win10+kubuntu UEFI 引导
    前几天自动更新 chrome45 结果崩了 然后去重装 tcp/ip 协议结果删除了没权限安装
    然后准备给 EFI 分区备份 重装 win10 再还原 EFI 分区
    结果 win10 正常 kubuntu 血崩 我手动建立的 EFI/ubuntu 一进 win10 立马被删除 secureboot 也关了
    尼玛 linux 部署了恁多东西依赖关系想想都头疼..结果全重装了
    maskerTUI
        43
    maskerTUI  
    OP
       2015-09-10 14:00:37 +08:00
    @lln133208 谢谢!已经弄好了。
    maskerTUI
        44
    maskerTUI  
    OP
       2015-09-10 14:01:36 +08:00
    @iFlicker 有时修复的成本(如时间)太高,还不如重装来的快。
    Stefan
        45
    Stefan  
       2015-09-10 15:18:28 +08:00
    定期备份,出现崩溃直接重装吧。在不涉及较敏感的生产线上,这是最快的解决办法啦。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4081 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 05:21 · PVG 13:21 · LAX 21:21 · JFK 00:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.