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 / 问题 / 788429
Accepted
elbarna
elbarna
Asked: 2024-12-20 12:51:32 +0800 CST2024-12-20 12:51:32 +0800 CST 2024-12-20 12:51:32 +0800 CST

fmthard/prtvtoc:出了什么问题?

  • 772

我想了解如何在不使用格式的情况下创建新切片。这是原始情况(工作)

* /dev/rdsk/c0t2d0s2 partition map
*
* Dimensions:
*     512 bytes/sector
*      63 sectors/track
*     255 tracks/cylinder
*   16065 sectors/cylinder
*    2608 cylinders
*    2606 accessible cylinders
*
* Flags:
*   1: unmountable
*  10: read-only
*
* Unallocated space:
*       First     Sector    Last
*       Sector     Count    Sector 
*    41495895    369495  41865389
*
*                          First     Sector    Last
* Partition  Tag  Flags    Sector     Count    Sector  Mount Directory
       1      9    00      16065  20980890  20996954
       2      9    00   20996955  10490445  31487399
       3      9    00   31487400  10008495  41495894
       8      1    01          0     16065     16064

分区大小(更好的切片)为第一个 10gb,第二个 5gb,第三个 4.77gb。

我想创建第四个切片(编号 4),大小为 2GB,并将第三个切片缩小到 2GB

我编辑此文件(将旧文件保存为备份)

* /dev/rdsk/c0t2d0s2 partition map
*
* Dimensions:
*     512 bytes/sector
*      63 sectors/track
*     255 tracks/cylinder
*   16065 sectors/cylinder
*    2608 cylinders
*    2606 accessible cylinders
*
* Flags:
*   1: unmountable
*  10: read-only
*
* Unallocated space:
*       First     Sector    Last
*       Sector     Count    Sector
*    41495895    369495  41865389
*
*                          First     Sector    Last
* Partition  Tag  Flags    Sector     Count    Sector  Mount Directory
       1      9    00      16065  20980890  20996954
       2      9    00   20996955  10490445  31487399
       3      9    00   31487400  4194304   35681703
       4      9    00   35681704  4194304   41865389
       8      1    01          0     16065     16064

大小似乎是正确的(每片 2048 mb)

4194304*512 = 2147483648
2147483648*1024 = 2199023255552
2199023255552/1024 = 2147483648
2147483648/1024 = 2097152
2097152/1024 = 2048

但是当我尝试创建新的分区表时......

fmthard -s file.map /dev/rdsk/c0t2d0s2  
Partition 3 not aligned on cylinder boundary: "       3      9    00   31487400  4194304   35681703"

我的错在哪里?我知道格式太简单了,但我也想用这种方式学习。

partition
  • 1 1 个回答
  • 19 Views

1 个回答

  • Voted
  1. Best Answer
    elbarna
    2024-12-20T13:47:41+08:002024-12-20T13:47:41+08:00

    找到解决方案/解决方法。我遵循“柱面规则”。您可以创建任何大小(当然不能超过磁盘大小),但每个切片必须“由”许多柱面组成,这些柱面必须“绑定”到切片,例如:分区 1 使用 1-1000 个柱面,分区 2 使用 1001-1500 个柱面,等等。这是正确的,分区 1 使用 1-1000 个柱面,分区 2 使用 1000-1500 个柱面,这是不正确的,因为一个柱面不能“共享”,首先计算柱面的大小,为了避免无聊的数学计算,我创建了一个 1 个柱面的切片,格式为

      2 alternates    wm    1307 - 1307        7.84MB    (1/0/0)       16065
    

    因此,如果我想创建一个 3000mb 的切片,我必须计算可以使用多少个 7.84mb 单位(圆柱体大小)来“达到”3000mb

    我做了这些计算

    3000/7.84 #3000 is partition size in mb 2.93g approx
    382       #composed of 382 cylinders (result of 3000/7.84)
    382*16065 #16065 is the number of sectors for each cylinder
    

    最终结果是 6136830 个扇区(2.93gb),是 382*16065 的结果

    因此我编辑文件以使用 10gb 的第一个分区、3000mb 的 2 3 4 分区。

    * /dev/rdsk/c0t2d0s2 partition map
    *
    * Dimensions:
    *     512 bytes/sector
    *      63 sectors/track
    *     255 tracks/cylinder
    *   16065 sectors/cylinder
    *    2608 cylinders
    *    2606 accessible cylinders
    *
    * Flags:
    *   1: unmountable
    *  10: read-only
    *
    * Unallocated space:
    *       First     Sector    Last
    *       Sector     Count    Sector 
    *    21013020  20852370  41865389
    *
    *                          First     Sector    Last
    * Partition  Tag  Flags    Sector     Count    Sector  Mount Directory
           1      9    00      16065  20980890  20996954
           2      9    00   20996955   6136830  27133784
           3      9    00   27133785   6136830  33270614
           4      9    00   33270615   6136830  39407445
           8      1    01          0     16065     16064
    

    可以吗?是的

    sudo fmthard -s file.map /dev/rdsk/c0t2d0s2  
    fmthard:  New volume table of contents now in place.
    

    测试 newfs 和 mount 工作。

    编辑:我还发现并非所有尺寸都有效,如果失败,我发现这个解决方法

    此配置不起作用

          2      9    00      16065  16787925  16803990
          3      9    00   16803991  16787925  33591916
          8      1    01          0     16065     16064
    

    这个是的(我从前一个分区的末尾删除 1 个扇区,并将 +1 添加到下一个分区的开头,最后从上一个/下一个分区的末尾删除 -1 个扇区)

       2      9    00      16065  16787925  16803989
       3      9    00   16803990  16787925  33591915
       8      1    01          0     16065     16064
    

    等待更好的解释和正确的公式来计算每个分区大小,我会认为这种解决方法有效。

    编辑2:我尝试了我的解决方法,效果很好。我想添加一个 9GB 分区

    此配置给出错误“分区 4 未与柱面边界对齐”

       2      9    00      16065  16787925  16803989
       3      9    00   16803990  16787925  33591915
       4      9    00   33591916  18876375  52468291
       8      1    01          0     16065     16064
    

    这很完美

       2      9    00      16065  16787925  16803989
       3      9    00   16803990  16787925  33591914
       4      9    00   33591915  18876375  52468290
       8      1    01          0     16065     16064
    

    即使 newfs 也不会返回任何错误(除了某些未分配扇区的警告)

    sudo newfs /dev/rdsk/c0t2d0s4   
    newfs: construct a new file system /dev/rdsk/c0t2d0s4: (y/n)? y
    Warning: 4138 sector(s) in last cylinder unallocated
    /dev/rdsk/c0t2d0s4:     18876374 sectors in 3073 cylinders of 48 tracks, 128 sectors
            9217.0MB in 193 cyl groups (16 c/g, 48.00MB/g, 5824 i/g)
    super-block backups (for fsck -F ufs -o b=#) at:
     32, 98464, 196896, 295328, 393760, 492192, 590624, 689056, 787488, 885920,
     17996704, 18095136, 18193568, 18292000, 18390432, 18488864, 18587296,
     18685728, 18784160, 18874400
    
    • 0

相关问题

  • 如何在 solaris 11.3 中挂载 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