从控制台创建ext4分区


74

我有一个/dev/sda1包含使用0.6 TB空间的NTFS分区的卷(1.2 TB)。

我想ext4在剩余的0.6 TB空间中进行分区。

我还没有尝试任何操作,因为如果遇到错误的命令,我不想冒险丢失数据。(由于没有GUI,因此无法使用gparted。)

您能为我提供正确的命令,还是至少提供正确的参数mkfs.ext4

root @ rasp:〜#fdisk -l / dev / sda

Disk /dev/sda: 1500.3 GB, 1500299395072 bytes
255 heads, 63 sectors/track, 182401 cylinders, total 2930272256 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000303ee

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048  2930272255  1465135104    7  HPFS/NTFS/exFAT

感谢您的更新,我正在调查详细信息,但与此同时,您确实有NTFS数据的备份吗?如果不是现在就做!应该可以做到这一点而不会丢失数据,但是您永远不知道...此外,您是否拥有对计算机的完全访问权限?例如,您可以重新启动进入实时会话吗?
terdon

@terdon我具有root访问权,但没有物理访问权。/ dev / sda不是我启动的那个。我无法进行任何其他备份或引导。从ubuntuforums.org/showthread.php?t=1244058中我读到,我必须从表中删除分区,并在NTFS大小范围内设置一个新分区,然后添加一个必须使用ext4初始化的新分区。
Daniel W.

对,就是这样。也看看这个。从理论上讲,使用调整大小后,只要使用同一柱面启动ntfsresize分区,就可以使用删除分区fdisk并重新创建较小的分区。因此,基本上,首先删除现有分区,然后按照我的答案中的步骤创建新分区。您需要自己承担风险,我从来没有亲自尝试过,但是应该可以。我真的建议您首先使用clonezilla或类似工具进行备份。
terdon

@terdon我注意到该命令ntfsresize可以成功运行,但是它必须删除了一些内容,因为我收到完整性错误的错误消息Failed to load $MFT: Input/output error
Daniel W.

对不起,对此一无所知。也许会有所帮助。
terdon

Answers:


104

首先,您需要创建一个分区,然后可以创建文件系统。

  1. 创建一个新分区

    sudo fdisk /dev/sda
    

    这将弹出fdisk菜单。您应该熟悉它,搜索教程(这是)。基本选项是:

    Command action
       a   toggle a bootable flagL
       b   edit bsd disklabel
       c   toggle the dos compatibility flag
       d   delete a partition
       l   list known partition types
       m   print this menu
       n   add a new partition
       o   create a new empty DOS partition table
       p   print the partition table
       q   quit without saving changes
       s   create a new empty Sun disklabel
       t   change a partition's system id
       u   change display/entry units
       v   verify the partition table
       w   write table to disk and exit
       x   extra functionality (experts only)
    

    如果一切顺利,请按N,您可以在空白区域中创建一个新分区。如果唯一未分配的空间是您要使用的空间,则默认选择应该很好,您可以fdisk选择。

  2. 由于您要创建ext分区,因此无需执行任何操作。如果要创建其他类型(交换或NTFS或其他类型),则需要使用它t来更改分区类型。我提到这是为了以防万一。

  3. 点击P打印分区表,检查更改是否符合预期。

  4. 如果一切正常,请将新的分区表写入磁盘(W),然后退出(Q)。

有了新的空分区后,就可以创建其文件系统了。因此,如果您刚创建/dev/sdaXX例如/dev/sda2,创建的分区号在哪里),请运行以下命令:

sudo mkfs.ext4 /dev/sdaX

我只是使用命令缩小了NTFS分区ntfsresize -s 656511M /dev/sda1。使用您的指导,我想创建第二个分区,fdisk但是在击中n,p,2时会说No free sectors available
Daniel W.

使用cfdisk,表示我的NTFS仍然为1500000 MB。我只是使用ntfsresize?!这是怎么回事:,-(
Daniel W.

@DanFromGermany,请将输出添加sudo fdisk -l /dev/sda到您的问题中。
terdon

我正在听你的回答,但是当我选择时n,我会被告知to create more partitions, first replace a primary with and extended。我想要做的是从SSD中取出2GB的存储空间,该存储空间足够大。
沙尘暴

@dustin表示您正在使用仅允许三个主要分区的GPT分区方案。您将需要将现有分区转换为逻辑(扩展)分区,并在其中创建其他分区。在评论中回答这个问题有点太复杂了,我敢肯定之前已经有人问过这个问题,但是如果没有,请发表一个新问题。
terdon 2015年

21

语法是 mkfs.ext4 *partition*

一个例子是问题mkfs.ext4 /dev/sda2所在/dev/sda2的未格式化分区。

您可以通过执行lsblklsblk --fs获取更多信息来获取有关文件系统的信息。

最后两个分区为空,尚无文件系统:

root@augur:/# lsblk --fs --ascii 
NAME        FSTYPE LABEL MOUNTPOINT
mmcblk0                  
|-mmcblk0p1 vfat   boot  /boot
|-mmcblk0p2 ext4         /
|-mmcblk0p3              
`-mmcblk0p4 

该命令将删除我现有的0.6 TB NTFS,还是仅使用尽可能多的空间而不接触其他分区?
Daniel W.

分区表必须已经为mkfs.ext4留出了可用空间才能进行操作。如果只有一个大分区,则需要调整该分区的大小以创建一些可用空间,以供mkfs使用。如果是这种情况,请引导至Windows,然后转到磁盘管理管理员工具并调整现有分区的大小,以腾出一些可用空间,然后使用Linux对其进行格式化。在可用空间中创建一个分区,然后对其进行格式化。
headkase 2013年

我没有GUI,也没有Windows,甚至也没有对计算机的物理访问。我会尝试partman
Daniel W.

仔细检查所有内容。使用上面给出的“ lsblk -fs”:不要在列为NTFS的任何文件上使用mkfs。您想寻找一个空的分区。
headkase 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.