问题标签 [disk-partitioning]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
246 浏览

winapi - 无文件系统 SD 卡分区框架

(这个项目可能会在 SuperUser 或 Electronics 网站上成为主题,但这个问题的重点是用于完成它的可编程软件。)

我有一个嵌入式系统,它以大约 100KB/s 的速度生成数据,这些数据需要存储并稍后在 Windows PC 上进行处理。串行流式传输有效,但内部存储具有明显的优势,即不需要在进行数据收集的房间内使用笔记本电脑和电缆。

我的电路板有一个 SD 卡插槽(SPI 连接),我之前曾尝试将文件写入 FAT 文件系统。但事实证明这是一个可怕的瓶颈,其中最重要的原因是,为了支持在任意时间增长的任意长度的多个文件,FAT 中的文件访问需要读取和写入多层元数据——分配表本身和目录——除了实际内容之外,这些不能完全适合微控制器 RAM,因此卡访问的数量被放大了。更糟糕的是,某些任务(例如寻找新的空闲块)在卡片大小上具有线性复杂性。

对 FAT 的另一个打击是,如果没有事先彻底卸载,它很容易在断电的情况下出现数据损坏,而且我的系统没有任何可以启动卸载的用户界面。我知道一些技术,包括断电中断和电容,可以让处理器和 SD 卡多运行几毫秒,但由于这些技术无论如何都无助于热移除,而且我现有的电路没有它们,我我试图实现一个只崩溃的存储设计。

所以我决定跳过文件系统,只使用卡作为原始块序列。但是,我不希望我的用户被邀请重新格式化包含数据的卡片

在此处输入图像描述

所以,我想对卡进行分区,并在前面放置一个操作系统可以识别的小 FAT 分区,并带有一个解释性测试文件。用户需要能够更换卡,因此我需要在我的 PC 应用程序中自动执行分区和格式化过程。

原始访问可以通过调用CreateFile("\\\\.\\PhysicalDisk3")和类似路径实现,这可以在可移动磁盘上完成,无需管理员权限。尽管如此,这是我不想自己编写的代码。并且仍然必须告知操作系统在更改后重新扫描卷。

是否有 API 内置于 Windows 或第三方开源框架的一部分,用于对 SD 卡进行分区,而无需直接按位访问分区表?如果没有,我应该如何在更改分区后让 Windows 重新扫描卷?我更喜欢适用于 XP 和更新版本的方法。

0 投票
1 回答
4927 浏览

winapi - 在 Windows 上获取卷的大小

我正在编写一个库来提取有关 Windows 系统(XP 或更高版本)上的物理磁盘、分区和卷的信息。

我正在尝试获取卷的容量。以下是我所知道的方法以及每种方法失败的原因:

奇怪的是,簇的数量 fromFSCTL_GET_VOLUME_BITMAP和 WMI 的CIM_LogicalDisk.Size属性一致,并且都比 from 的值小 4096 字节IOCTL_DISK_GET_LENGTH_INFO

获得卷容量的正确方法是什么?由于所有其他查询都无需管理员访问权限即可工作,因此我也在为此寻找最低权限的解决方案。

0 投票
1 回答
219 浏览

vbscript - 如何通过 Vbscript 克隆 Hyper V 2012 的 VHD?

我正在尝试使用 wim image 和 diskpart 命令克隆 Hyper V 2012 的 VHD 文件。我面临一个问题,因为 Hyper V 2012 的 VHD 包含 2 个分区。一个用于系统保留,第二个用于数据。我正在创建数据分区的 wim 映像并将此映像部署到新的 vhd 文件,但是当我尝试启动这个新的 vhd bootmgr 时发生丢失错误。如何将系统保留分区复制到相同的新 vhd 并使其工作?或者有任何其他方法可以使这个新的 VHD 工作。

0 投票
1 回答
913 浏览

perl - 用于图像和分区的 perl 脚本比 rsync 更快,它产生双向差异

sysadmin1138Martin报告了在块设备(分区)上工作rsync 的替代品。它基于 perl,但我想存储双向差异。

它将块设备中的更改应用于预先存在的过时备份映像。这是第二个最好的方法,在我没有使用的lvmsync之后,因为我的块设备不在 lvm 中。

但我也想单独收集更改,以便能够重新生成以前的备份映像(例如,恢复已删除的文件)。

当 rsync 替换运行时,以下代码确实收集了这些更改:

$rev被初始化为长度为 1024 的标量字符串(我不知道如何使它变得更好)。

没有格式化和更多or die,这是:

要应用前向或后向差异,我可以使用:

所以我成功地回答了这篇文章的第一个版本。这是在 200k 的示例上进行了一些修改的测试。

我对此代码有具体问题。

为什么使用原始示例read ARGV,这是不好的做法吗?

我放了很多or die $!,这是明智的还是只是破坏了可读性?

PREVIOUS并且STDOUT同一个文件是否打开了两次(以避免seek STDOUT,-1024,1),这是否被认为是好的做法?

[从programmers.so手动迁移的问题]

0 投票
5 回答
56824 浏览

amazon-ec2 - unable to resize root partition on EC2 centos

i created my EC2 Machine using Community Image of Centos 6.3 x64. i have added a 35 GB disk. Now when i do #df -h

my disk is 35GB but its showing 8 GB in root and 7 as tmpfs.

i tried to use resize2fs but it didnt work on centos. disk has ext4 partation..

or even if i tried resize2fs /dev/xvda1 it says device has nothing to do.

any idea or other way, its my root disk(/). so cant unmount it.

0 投票
9 回答
10756 浏览

google-compute-engine - 如何在 Google Compute Engine 上获得更大的启动盘

默认图像有 10GB,但我需要更多(大约 30GB)。如果我使用其中一个默认映像创建 30GB 的磁盘,则可用空间为 10GB,而不是 30GB。我知道我可以使用 debootstrap 之类的工具安装发行版,但这似乎不必要地复杂。还有其他方法吗?

0 投票
2 回答
933 浏览

windows - 获取启动分区驱动器名称

我需要从 bat 脚本中获取引导分区的DRIVE NAME 。

我得到的引导分区号reagentc.exe /info如下:

Windows RE location: \\?\GLOBALROOT\device\harddisk0\partition1\Recovery\WindowsRE

但我需要驱动器名称。怎么能从蝙蝠身上找回来?

0 投票
0 回答
286 浏览

windows - 如何通过 WMI 从扩展分区中获取所有未分配的空间?

我试图在磁盘上获取所有未分配的空间(作为 <offset,size> 对的列表)。一切都很好,只要磁盘上没有任何扩展分区 - 我只是列出Win32_DiskPartition与选定的相关联的 sWin32_DiskDrive并分析它们的偏移量和大小以找到它们之间的差距。

但是,如果有一个扩展分区,事情就会变得复杂——它就像一个黑盒子,内部分区不在与 my Win32_DiskDrive. 我尝试列出扩展分区的关联对象,但没有“内部”Win32_DiskPartition链接到扩展分区,只有Win32_LogicalDisks,但它们没有给我任何关于分区实际几何形状的信息

它尝试为此目的使用 diskpart,但它将所有分区大小四舍五入为 GB,我需要它们准确无误。它还依赖于语言环境,这使得它很难解析输出(我的应用程序需要尽可能独立于语言环境)

0 投票
1 回答
117 浏览

perl - 如何在 Perl 中使用文件作为读取另一个文件的负掩码?

我只想从原始分区映像 (EXT4) 的可用空间中提取垃圾数据。所以我有了这个想法,将可用空间归零,然后将结果用作掩码。

我有包含数据和可用空间的原始分区映像(14GB)以及相同的原始分区映像,可用空间为零。

我想在 Perl 中对这两个文件进行以下操作,对于它们的每个字节,为了获得处理后的原始分区图像,将只包含来自空闲空间的垃圾数据。

对于每个字节:RPM & !RPMz => RPMp

有人可以用 Perl 脚本或起点帮助我吗?

0 投票
3 回答
14304 浏览

linux - 如何检查磁盘的分区以在​​ Linux 中的脚本中使用?

我正在为 Linux 系统编写 Bash 脚本。如何以稳健的方式检查磁盘的分区?

我可以使用grep,awksed来解析 , 等的输出fdisksfdisk但这似乎不是一门精确的科学。

我还可以检查 中是否有分区/dev,但也有可能分区存在并且尚未被探测(partprobe例如,通过 )。

你会推荐什么?