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 / 问题 / 788883
Accepted
Folaht
Folaht
Asked: 2024-12-31 00:12:59 +0800 CST2024-12-31 00:12:59 +0800 CST 2024-12-31 00:12:59 +0800 CST

Parted 错误:位置 XXMB 位于设备 /dev/xxx 之外

  • 772

我正在尝试在我的 SD 卡上手动创建一个发行版,从创建分区开始,但失败了......

$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda      8:0    1 119.4G  0 disk 
vda    254:0    0    12G  0 disk 
├─vda1 254:1    0   300M  0 part /boot
└─vda2 254:2    0  11.7G  0 part /
$ sudo dd if=/dev/zero of=/dev/sda bs=1M count=32
32+0 records in
32+0 records out
33554432 bytes (34 MB, 32 MiB) copied, 0.0289816 s, 1.2 GB/s
$ sudo parted -s /dev/sda mklabel gpt
$ sudo parted -s /dev/sda mkpart fat32 32MB 512MB
Error: The location 512MB is outside of the device /dev/sda.

造成这种情况的潜在原因是什么?

$ sudo parted /dev/sda unit mib print free
Model:  (file)
Disk /dev/sda: 32.0MiB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start    End      Size     File system  Name  Flags
        0.02MiB  32.0MiB  32.0MiB  Free Space

无论出于什么原因,现在输入时都会出现 sda1 分区lsblk。我认为这是在创建标签时发生的。

$ lsblk
...
sda      8:0    1 119.4G  0 disk 
└─sda1   8:1    1 119.4G  0 part 
...

[编辑]

也许我应该提到我是在虚拟机中执行所有这些操作的。无论出于什么原因,只要我添加标签,虚拟机中的 fdisk 就会找到一个幽灵分区。它应该被删除,但它就在那里。

我可以通过禁用虚拟机中的 SD 卡来删除分区,重新插入它并在主机上启动 gdisk。

不幸的是,问题仍然存在,现在没有幽灵分区。

virtual-machine
  • 1 1 个回答
  • 481 Views

1 个回答

  • Voted
  1. Best Answer
    Chris Davies
    2025-01-04T01:36:00+08:002025-01-04T01:36:00+08:00

    让我们逐步了解你向我们展示的内容

    1. /dev/sda第一个输出显示您的设备大约有 120 GiB

    2. 然后清除设备的前 32 MiB,为新分区表做好准备

      这里实际发生的情况是,在此步骤之前的某个时间点,设备节点/dev/sda已被删除或尚不存在。因此,您dd 创建了一个长度正好为 32 MiB 的文件。从这里开始,您使用的是文件而不是设备。您可以通过查看输出ls -l /dev/sda并看到它是一个文件而不是块设备来证明这一点。

    3. 然后,您准备/dev/sda一个 GPT 分区表。(但请注意,这是您的 32 MiB 文件,而不是 120 GiB 设备。)

    4. 接下来,您尝试创建一个从 32 MB(不是 32 MiB,因此您只有少量空间可供命令尝试运行)开始到 512 MB 结束的分区,其大小为 480 MB。但是,“磁盘”不够大,无法容纳 480 MB 的分区,因此该命令会创建一个尽可能大的分区 - 大约 88 MB - 从指定的起点运行到磁盘末尾

    5. 现在你请求可用空间​​,由于剩下的只是 0 到 32 MB 的段,所以它显示的内容就是这些


    当您返回此命令时,请注意您的单位 - 您可能希望parted使用 2 n单位(MiB、GiB 等)而不是 10 n单位(MB、GB 等),以便它与 的默认输出相对应lsblk。您可以使用子命令执行此操作unit。例如,

    parted /dev/sda --align optimal unit MiB mkpart fat32 32 512
    
    • 2

相关问题

  • VirtualBox guest Win10 @ Linux 主机在启动时挂了很大的时间,如何排除故障?

  • Debian 9:如何在 QEMU-Host 和 QEMU-Guest (Windows) 之间设置 Samba-Exchange?

  • 如何手动触发来宾上的 virtio 气球驱动程序?

  • 如何在运行时从命令行更改 KVM VNC 端口?

  • LXC 容器内部从零开始的 Linux

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