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 / 问题 / 1314402
Accepted
PonJar
PonJar
Asked: 2021-02-08 07:36:02 +0800 CST2021-02-08 07:36:02 +0800 CST 2021-02-08 07:36:02 +0800 CST

如何在没有 live USB/CD 的情况下修改分区

  • 772

很多人在想要修改正在运行的系统上的分区时都会遇到困难。通常是因为他们要修改的分区已挂载,并且当他们运行 GParted 时,该分区标有锁定符号。当然,最简单的解决方案是使用实时环境并从那里进行更改。但是,当出于某种原因他们无法访问实时媒体时会发生什么?也许他们只是无法使用 USB 设备来放置合适的实时环境,例如 ubuntu 安装 iso 或较小的 GParted live iso。您可以在没有实时 USB/CD 的情况下修改分区吗?

partitioning
  • 2 2 个回答
  • 813 Views

2 个回答

  • Voted
  1. Best Answer
    PonJar
    2021-02-08T07:36:02+08:002021-02-08T07:36:02+08:00

    幸运的是,有一种方法可以在没有 USB 记忆棒或 CD 驱动器的情况下启动实时环境。

    这个答案的概述是您通过向 grub 添加自定义条目来引导存储在硬盘驱动器上的 iso 映像。但是,在尝试修改分区之前,请始终确保备份了您不能丢失的任何数据。这些是步骤:

    以 grub 命令表示法识别您的分区。

    这可能是此过程中最不为人所知的部分。我建议使用您的主目录来存储 iso 映像,因此您需要从 grub 命令提示符的角度找到它的位置。

    您可以在引导时从 grub 菜单执行此操作,只需按下c命令模式提示符,然后ls列出分区。您应该会看到一个包含 (hd0,msdos1) 或 (hd0,gpt1) 等内容的列表。这些是您系统上的分区,您正在寻找包含您的主目录的分区。要ls (hdX,Y)/在命令模式提示符下执行此操作,以列出该分区顶层的内容。如果您没有单独的主分区,您正在寻找包含 home/ 的分区,如下所示。如果您确实有一个单独的主分区,那么您正在寻找 john/ 或 jane/ 或您的用户名。

    在此处输入图像描述

    如果您的系统直接启动进入 Ubuntu,您可以在启动时按 shift 键(旧系统)或 Esc 键(UEFI 系统)使 grub 菜单可见。

    下载iso

    从https://gparted.org/download.php下载 GParted iso 。它比 Ubuntu iso 小,但也可以。选择永久存储它的位置。在此示例中,我选择了我的主目录并将 iso 重命名为 gparted.iso,而不是使用已下载并指定 gparted 版本的较长名称。这意味着我的 iso 保存在 /home/user/gparted.iso

    修改 grub

    下一步是修改 /etc/grub.d/40_custom 文件。您的文件需要如下所示:

    #!/bin/sh
    exec tail -n +3 $0
    # This file provides an easy way to add custom menu entries.  Simply type the
    # menu entries you want to add after this comment.  Be careful not to change
    # the 'exec tail' line above.
    menuentry "GParted ISO" {
        set root=(hd0,msdos1)
        set isofile="/home/username/gparted.iso"
            loopback loop $isofile
            linux (loop)/live/vmlinuz boot=live union=overlay username=user components noswap ip=net.ifnames=0 toram=filesystem.squashfs findiso=$isofile
            initrd (loop)/live/initrd.img
    }
    

    /etc/grub.d/40_custom 文件应该已经有前 5 行,并且如果您过去添加了它们,可能还有其他自定义条目。您可以保持以前的任何添加不变。

    您的文件版本会略有不同。您需要更改root=(hdX,Y)线路的正确参数。您还需要在该set isofile="/home/username/gparted.iso"行中为您的设置获取正确的路径。如果你有一个单独的主分区,它应该是set isofile="/username/gparted.iso"。

    您可以随意编辑该文件,但一种方法是在您的主文件夹中打开一个终端并使用以下命令:

    a)cp /etc/grub.d/40_custom 40_custom.bak(这会在您的主目录中备份您的 40_custom 文件)

    b)cp /etc/grub.d/40_custom 40_custom(这会在您的主目录中创建您的 40_custom 文件的工作副本,您可以在您选择的编辑器中对其进行编辑)

    c) sudo cp 40_custom /etc/grub.d/40_custom(将修改后的文件复制回来)

    d)sudo update-grub

    当您重新启动时,您应该会看到一个 grub 菜单,其中包含“GParted ISO”的新条目,它将引导您进入 GParted 实时环境,您可以在其中修改分区。我关注分区问题,所以如果您遇到任何问题并且无法通过搜索 Ask Ubuntu 找到答案,请提出一个新问题,如果可以,我会提供帮助。

    • 5
  2. user79
    2021-10-11T07:45:52+08:002021-10-11T07:45:52+08:00

    感谢您分享这一点!对于没有经验的用户来说,这可能不是最简单的解决方案,但在某些(或许多)情况下可能会很有帮助:)

    但是,如果图像文件太大而无法通过toram选项加载到系统内存,您可能无法(或不应该)修改存储图像文件的分区。

    如果它只是一个小图像文件并使用toram,这可能不会有问题。但是如果图像文件大于系统内存,或者不使用toram ,它可能是一个。而且我不想知道当您移动或调整存储图像文件的分区时会发生什么,并且必须移动包括图像文件在内的数据,并且在移动之后,系统会尝试从现在位于磁盘上其他位置的图像文件中读取数据...

    为图像文件设置一个单独的小分区可能是最好和最安全的解决方案(或者只是不修改存储图像文件的分区)

    有关从硬盘引导 ISO 文件的更多有用信息,请参见:https ://help.ubuntu.com/community/Grub2/ISOBoot

    • 0

相关问题

  • 是否有更好的方式为 /home/userX 构建分区/挂载

  • Linux 文件系统层次结构中的默认目录是什么意思?

  • 如何将 /usr 移动到新分区?

  • 如何从双启动计算机访问加密的主文件夹?

  • 您对台式机和家庭服务器的驱动器分区方案有什么建议?[关闭]

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