AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1529310
Accepted
xkeshav
xkeshav
Asked: 2024-10-08 12:01:30 +0800 CST2024-10-08 12:01:30 +0800 CST 2024-10-08 12:01:30 +0800 CST

尝试 os-uninstaller 后屏幕卡在 grub 上,双启动系统不显示启动选择菜单

  • 772

我有 Windows 和 ubuntu24.04,并尝试完全删除 Windows 操作系统,为此使用操作系统卸载程序,它选择 Windows 并卡在某个地方,重写 GRUB 命令,然后我重新启动计算机,现在 grub 屏幕出现

我确信 Windows 分区可能已损坏,但 ubuntu 仍然是安全的,当尝试使用 ls 检查时

ls (hd0,gpt1)

输出

efi/系统卷信息

那么我们如何编辑 grub 以便它能够启动 ubuntu 。

以下是所有分区 ls 输出的样子 grub屏幕

谢谢

更新

在阅读了一些帖子后,我尝试设置前缀,但没有启动文件夹,因此设置

set root=(hd0,gpt1)
set prefix=(hd0,gpt1)/efi/boot/grub

并且运行时set

它给出以下输出 grub set 命令输出

之后我退出并且 Windows 启动了,但是 ubuntu 不工作,根本没有出现启动菜单

boot
  • 1 1 个回答
  • 38 Views

1 个回答

  • Voted
  1. Best Answer
    xkeshav
    2024-10-09T17:25:48+08:002024-10-09T17:25:48+08:00

    以下是使用实时 USB 环境从已删除的操作系统中恢复的主要命令和步骤的汇总版本,包括对磁盘空间等常见问题的故障排除:

    先决条件:

    • 可启动的 Ubuntu 24.04 实时 USB。(虽然我的 USB 是 23.10,而安装的系统是 24.04,但它可以工作)

    1 挂载分区

    1. 启动实时 USB 并打开终端。

    2. 识别分区:

    sudo fdisk -l
    

    您将看到 2 个分区,一个是 EFI(有时不存在),一个是 Linux 文件系统

    Device             Start       End   Sectors   Size Type
    /dev/nvme0n1p1      2048    206847    204800   100M EFI System
    /dev/nvme0n1p2    206848    239615     32768    16M Microsoft reserved
    /dev/nvme0n1p3    239616 211358180 211118565 100.7G Microsoft basic data
    /dev/nvme0n1p4 211359744 294244351  82884608  39.5G Microsoft basic data
    /dev/nvme0n1p5 294246400 295315455   1069056   522M Windows recovery environment
    /dev/nvme0n1p6 295315456 500115455 204800000  97.7G Linux filesystem
    
    
    1. 挂载根分区(将/dev/nvme0n1p6替换为您的实际根分区):
    sudo mount /dev/nvme0n1p6 /mnt
    
    1. 如果有一个 EFI 分区(通常很小,比如 100MB):
    sudo mount /dev/nvme0n1p1 /mnt/boot/efi
    

    2 将数据从os_deleted复制到 root

    实际上,os-uninstaller软件将文件从根分区移动到os_deleted并挂起,这导致了启动问题

    您可以检查/etc、/proc、 /sys、/run目录是否位于根分区(即 /dev/nvme0n1p1)下,如果这些目录位于os_deleted文件夹下,则我们必须按照以下步骤操作。

    1. 如果您的数据已移至os_deleted:
    sudo rsync -av /mnt/os_deleted/ /mnt/
    

    此命令将os_deleted的内容复制回根分区。

    如果出现“设备上没有剩余空间”错误:

    删除大文件或不必要的文件:

    sudo rm -rf /mnt/var/cache/apt/*
    sudo rm -rf /mnt/var/log/*
    

    使用 find 来定位大文件:

    sudo find /mnt -type f -size +100M
    

    然后删除所有不必要的大文件:

    sudo rm /mnt/path/to/large/file
    

    我的 cae 中有图片和视频文件,所以删除了它们

    3 chroot进入系统

    1. 绑定所需的目录:
    sudo mount --bind /dev /mnt/dev
    sudo mount --bind /proc /mnt/proc
    sudo mount --bind /sys /mnt/sys
    sudo mount --bind /run /mnt/run
    
    1. 进入chroot环境:
    sudo chroot /mnt
    

    如果上述命令给出错误:

    无法运行命令 /bin/bash:没有这样的文件或目录意味着您在根目录中没有所有必需的文件

    您可以运行sudo fsck /dev/nvme0n1p6检查损坏的文件

    如果 chroot 成功运行,你的 shell 提示符将更改为root@root

    4重新安装 GRUB

    1. 为 UEFI 系统安装 GRUB:
    grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu
    
    1. 更新 GRUB 配置:
    update-grub
    
    1. 如果遇到“无法分配 pty”,请运行
    mount -t devpts none /dev/pts
    

    5 退出 chroot 并卸载

    1. 退出 chroot:
    exit
    
    1. 卸载绑定的目录:
    sudo umount /mnt/dev
    sudo umount /mnt/proc
    sudo umount /mnt/sys
    sudo umount /mnt/run
    sudo umount /mnt/boot/efi  # If mounted
    sudo umount /mnt
    

    6 重启

    1. 重新启动系统以检查 GRUB 是否恢复:
    sudo reboot
    

    故障排除提示:

    如果卸载期间出现“目标正忙”,请使用:

    sudo umount -l /mnt
    

    要列出使用挂载点的进程:

    sudo lsof +D /mnt
    sudo fuser -vm /mnt
    sudo fuser -k /mnt  # To kill processes
    

    如果空间存在问题,请使用rsync--exclude 暂时跳过非必要数据:

    sudo rsync -av --exclude='home/*' /mnt/os_deleted/ /mnt/

    这有助于恢复系统并解决过程中遇到的常见错误。

    希望有帮助

    • 1

相关问题

  • grub 菜单中的“恢复”选项是什么?

  • 用户如何避免在启动时输入密码?[关闭]

  • 更改 Wubi 的启动顺序

  • 如何在 Ubuntu 启动时显示或隐藏启动消息?

  • 如何避免启动时出现“S to Skip”消息?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve