V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
zxCoder
V2EX  ›  问与答

误操作把 window7 所在的盘格式化为 ext4 格式,无法启动

  •  
  •   zxCoder · 2020-12-20 08:21:34 +08:00 · 2300 次点击
    这是一个创建于 1432 天前的主题,其中的信息可能已经有所发展或是发生改变。

    实验室的电脑,有两个硬盘,装双系统 ubuntu 的时候,误操作把 windows 那个盘格式化了,现在应该怎么办

    现在无法启动 windows,进去显示

    grub resucue>
    

    ubuntu 的正常

    第 1 条附言  ·  2020-12-20 08:52:33 +08:00
    windows 盘的数据不重要,能启动就行

    但是最好不会影响到 ubuntu 的
    12 条回复    2020-12-20 19:04:40 +08:00
    yogogo
        1
    yogogo  
       2020-12-20 08:31:13 +08:00 via Android
    启动 pe 啊,再重新格式化回去
    xbtmyz
        2
    xbtmyz  
       2020-12-20 08:41:29 +08:00 via Android
    先重启进 pe 用磁盘工具备份数据再重装
    zxCoder
        3
    zxCoder  
    OP
       2020-12-20 08:46:22 +08:00
    @xbtmyz
    @yogogo
    怎么进 pe 什么意思
    hensy
        4
    hensy  
       2020-12-20 08:46:53 +08:00
    用 U 盘做个 PE 系统,进 PE 桌面后大部分 PE 内置一个软件叫 Diskgenius,没有的话可以安装一个,里面包含一个功能好像叫 搜索磁盘还是搜索分区来着,有一定概率能搜索到格式化之前的磁盘。曾经手抖格式化了一个分区,就是这样找回来的。
    msg7086
        5
    msg7086  
       2020-12-20 08:53:16 +08:00
    ext4 会写 superblock,分区数据肯定是被破坏了,重装系统然后从备份里恢复数据吧。
    jzmws
        6
    jzmws  
       2020-12-20 09:50:43 +08:00
    win7 识别不到 ext4 分区把
    tlday
        7
    tlday  
       2020-12-20 10:05:55 +08:00
    https://askubuntu.com/questions/232215/stuck-in-grub-rescue-mode

    输入 ls 查看所有磁盘和分区:(hd0) (hd0,msdos2) (hd0,msdos1)

    然后逐个:
    ls (hd0,msdos2)/
    ls (hd0,msdos1)/
    找到那个有 boot 子目录的分区,也就是你的 Ubuntu 分区

    假设(hd0,msdos2)是你的 Ubuntu 分区,然后输入以下命令:
    set prefix=(hd0,2)/boot/grub
    set root=(hd0,2)
    insmod normal
    normal

    然后你就进入 Ubuntu 了,然后在 Ubuntu 里打开 Terminal,输入一下命令,修复损坏的 grub 记录:
    sudo update-grub
    sudo grub-install /dev/sda

    这个答案没有说 /dev/sda 是什么意思,注意 /dev/sda 应该是你的启动磁盘,sda 代表你的第一个硬盘,sdb 代表第二个,sda 代表第一个 usb 磁盘之类的,nvme0n1 代表你的第一个 m2 接口的 ssd 硬盘。你可以自己 ls /dev 目录去找正确的那个安装了 grub 主引导记录的磁盘。
    tlday
        8
    tlday  
       2020-12-20 10:08:16 +08:00
    sdc 代表第一个 usb 磁盘之类的,上面写错了
    tlday
        9
    tlday  
       2020-12-20 10:16:36 +08:00
    (hd0,2)是(hd0,msdos2)的简写
    Tink
        10
    Tink  
       2020-12-20 11:39:34 +08:00 via Android
    随便啊,你在 ubuntu 下重新 mkfs 一下不行吗
    systemcall
        11
    systemcall  
       2020-12-20 19:02:42 +08:00
    估计救不了数据,格式化又不是删除分区,MTF 会被 ext4 的文件系统覆盖掉,NTFS 的结构和 ext4 差得远,估计最多救些大文件
    grub.cfg 没事的话,用 normal 命令读取 grub.cfg 就好了
    进系统后 update-grub,Windows 的启动项应该会消失,因为找不到 Windows 了
    如果还在的话,就检查一下是不是有 Windows 的恢复分区,删了就好了
    要装 Windows 的话,重装系统就可以了。注意一下安装的分区就可以了。安装完 Windows 后应该会写掉 Linux 的启动信息,这个时候就用 LiveCD 开机,重新写一遍 Grub2,再 update-grub 就可以了,因为分区的 GUID 变了
    systemcall
        12
    systemcall  
       2020-12-20 19:04:40 +08:00
    如果是 NVMe SSD 的话,不是 sd 开头的设备了,好像是 nvm 开头的吧。同理,eMMC 是 mmc 开头的设备
    不确定是哪个的话,Ubuntu 有个叫做“磁盘”的软件,可以看得到硬盘分区和对应的名称,LiveCD 自带了有
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1091 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 22:57 · PVG 06:57 · LAX 14:57 · JFK 17:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.