标签: sfdisk

如何在 Linux 中查看制造商等磁盘详细信息

随着sfdisk -s我可以看到磁盘容量如下:

$ sfdisk -s
/dev/cciss/c0d0: 143338560
total: 143338560 blocks
Run Code Online (Sandbox Code Playgroud)

如何查看磁盘制造商等磁盘详细信息?我试过了hdparm,但出现错误:

$ hdparm -i  /dev/cciss/c0d0
/dev/cciss/c0d0:
HDIO_GET_IDENTITY failed: Inappropriate ioctl for device
Run Code Online (Sandbox Code Playgroud)

linux hard-disk sfdisk

72
推荐指数
6
解决办法
16万
查看次数

强制重读分区表:BLKRRPART 和 BLKPG ioctl 之间的区别?(Linux)

当我希望 Linux 在不重启的情况下考虑新创建的分区时,我有几个工具可用于强制刷新内核“分区缓存”:

  • partx -va /dev/sdX
  • kpartx -va /dev/sdX
  • hdparm -z /dev/sdX
  • sfdisk -R /dev/sdX
  • partprobe /dev/sdX
  • ...

我不确定这些技术之间的区别,但我认为它们不使用相同的ioctl,例如BLKRRPARTBLKPG。那么,它们之间有ioctl什么区别呢?

linux partition sfdisk hdparm

10
推荐指数
1
解决办法
9423
查看次数

是否可以在不重新启动的情况下扩大 / 分区?

我可以在不重新启动的情况下扩大根 ( /) 分区fdisk(删除使用相同的第一个扇区重新创建它,但最后一个扇区更大)。

但是,我无法让内核重新读取分区表

# partx -va /dev/vda
partx: /dev/vda: adding partition #5 failed: Device or resource busy
partx: /dev/vda: error adding partition 5

# kpartx -va /dev/vda
device-mapper: reload ioctl on vda5 failed: Invalid argument
add map vda5 : 0 41492480 linear 0:0 2048

# hdparm -z /dev/vda
/dev/vda:
 re-reading partition table
 BLKRRPART failed: Device or resource busy

# sfdisk -R /dev/vda
BLKRRPART: Device or resource busy
This disk is currently in use. …
Run Code Online (Sandbox Code Playgroud)

linux partition sfdisk

8
推荐指数
1
解决办法
4869
查看次数

使用 sfdisk 进行近似分区表备份

我想将一些逻辑分区转换为扩展分区,所以我正在关注这个已接受的答案。但是,在备份当前分区表的步骤中,我搞砸了并输入了以下内容而不是所写的内容。

sfdisk -f /dev/sda > /mnt/parts.txt
Run Code Online (Sandbox Code Playgroud)

这导致了这个:

Disk /dev/sda: 30401 cylinders, 255 heads, 63 sectors/track
Old situation:
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sda1          0+    304-    304-   2441214+  82  Linux swap / Solaris
/dev/sda2   *    304+    565-    262-   2097152   83  Linux
/dev/sda3        565+   4486-   3921-  31495168   83  Linux
/dev/sda4       4486+  30401-  25916- 208163840    5  Extended
/dev/sda5       4486+  24026-  19540- 156954624   83  Linux
Run Code Online (Sandbox Code Playgroud)

如您所见,单位是柱面和块,与正确的扇区导出相比,这可能会导致精度损失。 …

partition data-recovery hard-disk sfdisk

5
推荐指数
1
解决办法
676
查看次数

在出现故障前更换 RAID 硬盘(3 岁!)

我认为对我的 RAID 设置做的明智之举是在驱动器开始出现故障和它们开始变旧之前更换驱动器......我真的买不起很多云备份空间,我想由于磨损,我的驱动器有保证的最终故障。

我有 3 个 2TB 驱动器,带有 GPT、grub、一个小型系统 raid1 分区和一个大型 raid5 主分区。我正在使用 Arch Linux。

我打算一次更换一个驱动器。我想发布我的行动计划,看看是否有人能想到它行不通的原因,或者是否有更好的方法来做到这一点。

步骤1:

找出/dev/sda我要更换的设备(即),通过物理拔掉它并检查/proc/mdstat以找出/dev/sdx失败的设备。

第二步:

重新插入并使用sfdisk复制分区表

sfdisk -d /dev/sdx > partition.layout
Run Code Online (Sandbox Code Playgroud)

第三步:

放入相同大小的新物理驱动器

第四步:

sfdisk /dev/sdx < partition.layout
Run Code Online (Sandbox Code Playgroud)

第五步:

用于mdadm根据 arch wiki 上的说明将新驱动器添加到阵列。

mdadm --add /dev/md0 /dev/sdx1
mdadm --add /dev/md1 /dev/sdx2
Run Code Online (Sandbox Code Playgroud)

第六步:

重装grub?等待重新同步完成,然后用其他 2 个驱动器重复整个过程?

我想我的问题主要是,这会成功吗?有什么我想念的吗?我不想错过一些明显的东西并丢失我的所有数据。

非常感谢您的任何帮助/见解。

编辑:

只是为了将讨论的结果放在同一个地方,我想说我想出了如何让 mdadm 和 smartmontools (smartd) 监控,并在我的硬盘驱动器出现问题时通过电子邮件通知我。我使用已同步到手机的 gmail 帐户设置了 ssmtp。

由于我已经购买了新驱动器,我将保留它们,并在出现问题时更换它们。我的理解是,最终所有硬盘驱动器都会出现故障。感谢您提供有关如何执行此操作的建议和提示(不降低阵列质量)。一旦我负担得起升级,我将使用带有 ECC 主板/内存/等的 ZFS。并感谢您在该方向上的提示。非常感谢你们真的帮助了:D

raid mdadm grub2 hard-disk sfdisk

5
推荐指数
2
解决办法
1343
查看次数

sfdisk --no-read 不起作用

我正在尝试在 debian 8 上使用 sfdisk 扩展分区。我正在运行以下命令:

    sfdisk -H 255 -S 63 --quiet --Linux --leave-last -uM --force --no-reread /dev/md1 -N4 < /tmp/abc
Run Code Online (Sandbox Code Playgroud)

运行命令时出现以下错误:

    Successfully wrote the new partition table
    Re-reading the partition table ...
    sfdisk: BLKRRPART: Device or resource busy
    sfdisk: The command to re-read the partition table failed.
    Run partprobe(8), kpartx(8) or reboot your system now,before using mkfs
    sfdisk: If you created or changed a DOS partition, /dev/foo7, say, then use dd(1) to zero the first 512 bytes:  dd if=/dev/zero …
Run Code Online (Sandbox Code Playgroud)

debian sfdisk

4
推荐指数
1
解决办法
1102
查看次数

如何按存储顺序列出分区?

告诉一般信息(容量、扇区大小等)后fdisk显示 8 列:sdXY、Boot、begin、end、扇区数、大小、标志、类型。

分区按其sdXY名称中的 Y 排序。有时(即当这是真的时)它会在其下方添加注释,表明它们未按存储顺序列出。

如何让fdisk(或任何其他适当的工具)列出按起始扇区(即第三列)排序的面向块的设备上的分区

partition fdisk sfdisk cfdisk

4
推荐指数
2
解决办法
296
查看次数

lsblk + 只捕获磁盘

我只想从lsblk捕获磁盘

如图所示,fd0 也出现了,尽管它不是真正可供使用的磁盘

在这种情况下,我们可以只做lsblk | grep磁盘| grep -v fd0

但也许我们错过了一些其他需要通过grep -v过滤它们的设备

lsblk中可能出现的其他磁盘设备 grep 磁盘而不是真正的磁盘?

lsblk | grep disk 

fd0                2:0    1     4K  0 disk
sda                8:0    0   100G  0 disk
sdb                8:16   0     2G  0 disk /Kol
sdc                8:32   0     2G  0 disk
sdd                8:48   0     2G  0 disk
sde                8:64   0     2G  0 disk
sdf                8:80   0     2G  0 disk


lsblk
NAME             MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
fd0                2:0    1     4K …
Run Code Online (Sandbox Code Playgroud)

linux filesystems sfdisk disk lsblk

2
推荐指数
1
解决办法
6536
查看次数