Linux格式化并创建分区,linux – 如何从头开始创建格式化的分区映像文件?

我需要创建只有一个分区的文件系统(/ dev / zero).

我尝试了这一系列命令:

dd if=/dev/zero of=mountedImage.img bs=512 count=131072

fdisk mountedImage.img

n

p

2048

131072

基本上,我需要创建填充零的64MB图像文件.然后我使用fdisk为新文件系统(最终应该是FAT32)添加一个新分区,从扇区2048开始并使用所有剩余扇区.

losetup /dev/loop1 mountedImage.img

mkfs -t vfat /dev/loop1

但在这里,我遇到了问题.如果我设置了一个循环设备并使用mkfs -t vfat对其进行格式化,则会覆盖分区表,并将文件系统(FAT32)放置到磁盘上.我不需要用FAT32格式化的整个磁盘,我只需要我的主分区.

有谁知道如何只格式化原始磁盘映像的一个分区,而不是整个映像?

解决方法:

如果在Linux上,在加载循环模块时,请确保将max_part选项传递给模块,以便循环设备可分区.

检查当前值:

cat /sys/module/loop/parameters/max_part

如果是0:

modprobe -r loop # unload the module

modprobe loop max_part=31

要使此设置保持不变,请将以下行添加到/etc/modprobe.conf或/etc/modprobe.d中的文件(如果您的系统上存在该目录):

options loop max_part=31

如果modprobe -r循环由于“内置模块循环”而失败,则需要将loop.max_part = 31添加到内核命令行并重新启动.如果您的引导加载程序是Grub2,请在etc / default / grub中将其添加到GRUB_CMDLINE_LINUX的值.

现在,您可以创建一个可分区的循环设备:

truncate -s64M file # no need to fill it with zeros, just make it sparse

fdisk file # create partitions

losetup /dev/loop0 file

mkfs.vfat /dev/loop0p1 # for the first partition.

mount /dev/loop0p1 /mnt/

(请注意,您需要一个相对较新版本的Linux).

标签:linux,partition,loop-device

来源: https://codeday.me/bug/20190809/1626404.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值