V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
zxCoder
V2EX  ›  问与答

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

  •  
  •   zxCoder · Dec 20, 2020 · 2916 views
    This topic created in 1954 days ago, the information mentioned may be changed or developed.

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

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

    grub resucue>
    

    ubuntu 的正常

    Supplement 1  ·  Dec 20, 2020
    windows 盘的数据不重要,能启动就行

    但是最好不会影响到 ubuntu 的
    12 replies    2020-12-20 19:04:40 +08:00
    yogogo
        1
    yogogo  
       Dec 20, 2020 via Android
    启动 pe 啊,再重新格式化回去
    xbtmyz
        2
    xbtmyz  
       Dec 20, 2020 via Android
    先重启进 pe 用磁盘工具备份数据再重装
    zxCoder
        3
    zxCoder  
    OP
       Dec 20, 2020
    @xbtmyz
    @yogogo
    怎么进 pe 什么意思
    hensy
        4
    hensy  
       Dec 20, 2020
    用 U 盘做个 PE 系统,进 PE 桌面后大部分 PE 内置一个软件叫 Diskgenius,没有的话可以安装一个,里面包含一个功能好像叫 搜索磁盘还是搜索分区来着,有一定概率能搜索到格式化之前的磁盘。曾经手抖格式化了一个分区,就是这样找回来的。
    msg7086
        5
    msg7086  
       Dec 20, 2020
    ext4 会写 superblock,分区数据肯定是被破坏了,重装系统然后从备份里恢复数据吧。
    jzmws
        6
    jzmws  
       Dec 20, 2020
    win7 识别不到 ext4 分区把
    tlday
        7
    tlday  
       Dec 20, 2020
    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  
       Dec 20, 2020
    sdc 代表第一个 usb 磁盘之类的,上面写错了
    tlday
        9
    tlday  
       Dec 20, 2020
    (hd0,2)是(hd0,msdos2)的简写
    Tink
        10
    Tink  
    PRO
       Dec 20, 2020 via Android
    随便啊,你在 ubuntu 下重新 mkfs 一下不行吗
    systemcall
        11
    systemcall  
       Dec 20, 2020
    估计救不了数据,格式化又不是删除分区,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  
       Dec 20, 2020
    如果是 NVMe SSD 的话,不是 sd 开头的设备了,好像是 nvm 开头的吧。同理,eMMC 是 mmc 开头的设备
    不确定是哪个的话,Ubuntu 有个叫做“磁盘”的软件,可以看得到硬盘分区和对应的名称,LiveCD 自带了有
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3195 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 46ms · UTC 13:47 · PVG 21:47 · LAX 06:47 · JFK 09:47
    ♥ Do have faith in what you're doing.