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
    • 最新
    • 标签
主页 / unix / 问题 / 679247
Accepted
Tak
Tak
Asked: 2021-11-27 16:04:17 +0800 CST2021-11-27 16:04:17 +0800 CST 2021-11-27 16:04:17 +0800 CST

Clonezilla:不能有重叠的分区

  • 772

我正在尝试使用 Clonezilla 对我的 Ubuntu 磁盘进行映像,但它失败了,因为我收到一条错误消息:

错误不能有重叠的分区

以下是我的磁盘的设置方式和lsblk输出:

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop1         7:1    0  42,2M  1 loop /snap/snapd/14066
nvme0n1     259:0    0 953,9G  0 disk 
├─nvme0n1p5 259:3    0   976M  0 part [SWAP]
└─nvme0n1p1 259:1    0 952,9G  0 part /

这是输出fdisk -l /dev/nvme0n1

Disk /dev/nvme0n1: 953,9 GiB, 1024209543168 bytes, 2000409264 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x6e617337

Device         Boot      Start        End    Sectors   Size Id Type
/dev/nvme0n1p1 *          2048 1998407679 1998405632 952,9G 83 Linux
/dev/nvme0n1p2      1998409726 2000397734    1988009 970,7M  5 Extended
/dev/nvme0n1p5      1998409728 2000408575    1998848   976M 82 Linux swap / Sola

以下是它在 gparted 中的显示方式:

在此处输入图像描述

任何建议如何解决此错误以便我可以映像/保存我的磁盘?

partition disk
  • 1 1 个回答
  • 426 Views

1 个回答

  • Voted
  1. Best Answer
    Madhubala
    2021-11-28T01:00:24+08:002021-11-28T01:00:24+08:00

    答案改编自:how-to-fix-overlapped-partitions-in-the-mbr-table。你可以试试这个,但我认为删除交换和逻辑分区更简单


    使用以下方法修复分区表sfdisk:

    1. 使用实时 Ubuntu 磁盘启动;

    2. 确认磁盘设备上的问题/dev/sda,parted例如

       sudo parted /dev/sda unit s print which should show:
      
       Error: Can't have overlapping partitions.
      
    3. 可以通过以下方式检查分区详细信息:

       sudo fdisk -l -u /dev/sda 
      

    对你来说,根据你的帖子是:

    Disk /dev/nvme0n1: 953,9 GiB, 1024209543168 bytes, 2000409264 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: dos
    Disk identifier: 0x6e617337
    
    Device         Boot      Start        End    Sectors   Size Id Type
    /dev/nvme0n1p1 *          2048 1998407679 1998405632 952,9G 83 Linux
    /dev/nvme0n1p2      1998409726 2000397734    1988009 970,7M  5 Extended
    /dev/nvme0n1p5      1998409728 2000408575    1998848   976M 82 Linux swap / Solaris
    
    1. 检查重叠:您可以看到您的扩展分区/dev/nvme0n1p2小于交换分区 /dev/nvme0n1p5。

    为了让事情更清楚,您的交换分区位于该扩展分区内,因此理想情况下它的大小应该小于扩展分区大小。但在您的情况下,交换大小大于逻辑分区大小本身。

    Device            Size  
    
    /dev/nvme0n1p2    970,7M  
    /dev/nvme0n1p5    976M    
    

    或者换句话说,nvme0n1p2 的结束扇区应该大于 nvme0n1p5 的结束扇区。但在你的情况下

    nvme0n1p2结束= 2000397734

    nvme0n1p5结束= 2000408575

    因此问题。

    现在您可以通过简单地使用 gparted 减小交换分区大小来解决它。(~ 600MB - 700MB)

    或者您可以使用命令行工具:

    sfdisk
    

    使用 sfdisk

    1. 正如文档中所建议的那样 - “如果我们不知道起始扇区还是结束扇区是问题所在,我们假设每个分区的起始扇区是正确的,并且结束扇区可能是错误的”,我们假设扩展分区的起始扇区nvme0n1p2正确。因此,我们将寻求更改交换分区的结束扇区nvme0n1p5。

    计算:

    nvme0n1p5 newEnd = nvme0n1p2结束- 1 = 2000397734 - 1 = 2000397733

    nvme0n1p5 newSize = nvme0n1p5 newEnd - nvme0n1p5开始= 2000397733 - 1998409728 = 1988005

    1. sfdisk使用以下命令将分区表的副本​​转储到文件中:

    sudo sfdisk -d /dev/sda应该转储分区表的详细信息。这可以转储到文件中,在进行必要的更正后,可以将其反馈到sfdisk. [致 OP:请编辑您的问题并包括输出sudo sfdisk -d /dev/sda]

    转储分区表的副本​​:

        sudo sfdisk -d /dev/sda > sda-backup.txt 
    
    1. 使用您选择的文本编辑器以 root 权限打开在上一步中创建的文件。在示例中,我将使用nano.

       sudo nano sda-backup.txt (`sda-backup.txt` assuming the file is in the current directory, else repalce it with the file's absolute
      

    小路。)

    nvme0n1p5将( )的旧大小更改为1998848更正后的大小 ( 1988005),以便您的新分区表转储看起来像:

    操作未附加输出

    保存文件 ( Ctrl+ Ofor nano) 并关闭编辑器 ( Ctrl+ Xfor nano)。

    1. sfdisk使用以下命令将更正的分区详细信息反馈到分区表:

       sudo sfdisk /dev/sda < sda-backup.txt
      
    2. parted通过在磁盘设备上运行来确认问题是否已解决:

       sudo parted /dev/sda unit s print
      
    3. 如果步骤 9 确认分区表已修复,则您可以在设备上使用GParted或其他分区编辑器。


    GParted 文档还提出了另一种方法,使用 testdisk扫描磁盘设备以重建分区表。testdisk 应用程序包含在GParted Live中。因此,如果您对命令行方式不满意,可以尝试替代方法。

    资源


    使用 Gparted

    unmount your swap partition before continuing
    
    1. 当前状态

    在此处输入图像描述

    1. 调整根分区的大小

    在此处输入图像描述

    1. 调整大小前的根分区

    在此处输入图像描述

    1. 调整大小后的根分区

    在此处输入图像描述

    1. 根分区后创建空白空间

    在此处输入图像描述

    1. 删除交换

    在此处输入图像描述

    1. 删除逻辑分区

    在此处输入图像描述

    1. 删除除根以外的所有分区

    在此处输入图像描述

    1. 创建新的逻辑分区

    在此处输入图像描述

    1. 在分区之前留下一些可用空间(因此它不会重叠)并选择分区类型为Extended partition

    在此处输入图像描述

    1. 这就是它现在的样子

    在此处输入图像描述

    1. 创建交换分区

    在此处输入图像描述

    1. 在分区后留下一些可用空间,使其不会超过并选择 filesysytem 作为linux swap

    在此处输入图像描述

    1. 这就是它现在的样子

    在此处输入图像描述

    1. 复制新交换的 UUID 并将其替换为/etc/fstab

    在此处输入图像描述


    • 2

相关问题

  • 为什么 ZFS 不报告磁盘已降级?

  • 备份 Nand Flash 存储区

  • 如何正确分区 SSD 以进行双启动设置

  • 并行安装多个 linux 发行版

  • fdisk 没有看到 resize2fs 缩小未挂载的分区

Sidebar

Stats

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

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve