当前位置: 首页 > 科技观察

如何在Linux上对驱动器进行分区和格式化

时间:2023-03-15 08:29:29 科技观察

这里有关于设置存储你想知道但又不敢问的一切。在大多数计算机系统(Linux或其他系统)上,当您插入USB设备时,您会注意到驱动器存在的警告。如果驱动器已经按照您想要的方式进行了分区和格式化,您只需要计算机在文件管理器或桌面上的某个位置列出该驱动器。这是一个简单的要求,通常一台计算机就可以完成。但是,有时驱动器的格式并未按照您希望的方式进行。对于这些,您必须知道如何找到准备好连接到计算机的存储设备。什么是块设备?硬盘通常被称为“块设备”,因为硬盘以固定大小的块进行读写。这将硬盘驱动器与可能插入计算机的其他设备(例如打印机、游戏手柄、麦克风或相机)区分开来。列出连接到Linux系统的块设备的一种简单方法是使用lsblk(列出块设备)命令:NAMEMAJ:MINRMSIZEROTYPEMOUNTPOINTsda8:00238.5G0disk├─sda18:101G0部分/boot└─sda28:20237.5G0部分└─luks-e2bb...e9f8253:00237.5G0地穴├─fedora-root253:1050G0lvm/├─fedora-swap253:205.8G0lvm[SWAP]└─fedora-home253:30181.7G0lvm/homesdb8:16114.6G0disk└─sdb18:17114.6G0部分最左边的列是一个设备标识符,每一个都以sd开头,以字母结尾,字母以a开头。块设备上的每个分区都分配了一个编号,从1开始。例如,第一个设备上的第二个分区由sda2表示。如果您不确定它是哪个分区,没关系,请继续阅读。lsblk命令是非破坏性的,仅用于检测,因此您可以使用它而不必担心破坏驱动器上的数据。使用dmesg进行测试如果您有疑问,可以通过查看dmesg命令的前几行来检查驱动器的卷标,该命令显示操作系统最近的日志(例如插入或移除驱动器)。总之,如果你想确认你插入的设备是/dev/sdc,那么,把设备插入你的电脑,然后运行这个dmesg命令:$sudodmesg|tail显示中列出的***驱动器It'stheoneyoujustinserted.如果拔下它并再次运行此命令,您可以看到该设备已被移除。如果你再次插入并运行命令,设备将再次出现在那里。换句话说,您可以监视内核对驱动器的识别。了解文件系统如果您只需要设备卷标,那么您的工作就完成了。但是如果你的目的是创建一个可用的驱动器,那么你还必须为这个驱动器制作一个文件系统。如果您还不知道文件系统是什么,那么通过了解没有文件系统时会发生什么,可能会更容易理解这个概念。如果你有一个备用的设备驱动程序,并且上面没有重要数据,你可以按照下面的实验。否则,请不要尝试,因为根据其设计,这个肯定会删除您的个人资料。当驱动器没有文件系统时也可以使用它。一旦你确定驱动器被正确识别,并且你确定它上面没有重要的东西,将它插入你的计算机-但不要安装它,如果它是自动安装的,那么只需手动卸载它。$su-#umount/dev/sdx{,1}为了防止灾难性的复制粘贴错误,以下示例将不太可能使用sdx作为驱动器的卷标。现在驱动器已卸载,请尝试以下命令:#echo'helloworld'>/dev/sdx您已经可以将数据写入块设备而无需将其安装到您的操作系统上,也不需要文件系统。拉出刚刚写入的数据,你可以看到驱动器上的原始数据:#head-n1/dev/sdxhelloworld这似乎工作正常,但想象一下如果短语“helloworld”是一个文件,如果你想使用此方法写入新文件,必须:知道第1行已经存在一个文件知道现有文件只占1行创建一个新方法在之后追加数据,或者在写入第2行时重写第1行。对于示例:#echo'helloworld>thisisasecondfile'>>/dev/sdx获取第一个文件而不做任何更改。#head-n1/dev/sdxhelloworld但是,获取第二个文件有点复杂。#头-n2/dev/sdx|tail-n1thisisasecondfile显然,以这种方式读写数据是不切实际的,因此开发人员创建了一个系统来跟踪文件的组成并识别开始和结束等等。大多数文件系统都需要一个分区。创建分区分区是硬盘驱动器上的一种边界,它告诉文件系统它可以占用什么空间。例如,如果您有一个4GB的USB驱动器,您可以只有一个分区占用一个驱动器(4GB),或者两个分区,每个2GB(或者一个1GB,一个3GB,如果您愿意),或者三个不同的大小,等等。组合将是无穷无尽的。假设您的驱动器是4GB,您可以使用GNUparted命令创建一个大分区。#parted/dev/sdx--alignoptmklabelmsdos04G根据parted命令的要求,首先指定驱动器的路径。--align选项告诉parted命令自动选择最佳起点和终点。mklabel命令在驱动器上创建分区表(称为磁盘标签)。此示例使用msdos磁盘卷,因为它是一个非常兼容且流行的卷标,尽管gpt正变得越来越普遍。***定义分区所需的起点和终点。由于--alignopt标志,parted将根据需要调整大小以优化驱动器的性能,但这些数字仍可作为参考。接下来,创建实际的分区。如果您选择的起点和终点不是最优的,parted会警告您并让您进行调整。#parted/dev/sdx-aoptmkpartprimary04G警告:生成的分区未正确对齐以获得最佳性能:1s%2048s!=0sIgnore/Cancel?C#parted/dev/sdx-aoptmkpartprimary2048s4G如果你再次运行lsblk命令,(你可能需要拔下驱动器并重新插入),你应该看到你现在有一个分区驾驶。手动创建文件系统我们有许多可用的文件系统。有些是开源和免费的,有些则不是。一些公司拒绝支持开放文件系统,因此他们的用户无法从开放文件系统中读取,而开源用户也无法在不对其进行逆向工程的情况下从封闭文件系统中读取。尽管有这种特殊情况,仍然有许多文件系统可以使用,选择哪一种取决于驱动器的用途。如果您希望您的驱动器与多个系统兼容,那么您唯一的选择就是exFAT文件系统。然而,Microsoft尚未将exFAT代码提交给任何开源内核,因此您可能必须在包管理器中安装exFAT支持,但Windows和MacOS都支持exFAT文件系统。安装exFAT支持后,您可以在分区上创建的驱动器上创建exFAT文件系统。#mkfs.exfat-nmyExFatDrive/dev/sdx1现在您的驱动器可以被封闭系统和其他开源系统(未经微软批准)内核模块读写。Linux中常见的文件系统是ext4。但是对于便携式设备来说,这可能是一个麻烦的文件系统,因为它保留了用户权限,这些权限通常因计算机而异,但它通常是一个可靠且灵活的文件系统。只要您熟悉管理权限,ext4就是适用于便携式设备的出色文件系统。#mkfs.ext4-LmyExt4Drive/dev/sdx1拔下您的驱动器并重新插入。对于具有ext4文件系统的便携式设备,使用sudo创建目录并将目录权限授予系统共有的用户和组。如果您不确定使用哪个用户和组,也可以使用sudo或root修改相关设备的读写权限。当您只有Linuxshell时,很高兴知道如何操作和处理您的块设备,但有时您只想让驱动器可用而不进行那么多测试。GNOME和KDE的开发人员提供了一些出色的工具来简化此过程。GNOME磁盘和KDE分区管理器是一个图形工具,它为本文到目前为止提到的所有内容提供了一个一体化的解决方案。启动其中任何一个以查看所有连接的设备(在左侧列表中)、创建和调整分区大小以及创建文件系统。KDE分区管理器GNOME版本比KDE版本更简单,因此我将使用复杂版本进行演示-如果您愿意亲自动手,很容易弄清楚如何使用GNOME磁盘实用程序。启动KDE分区管理器并输入您的根密码。在最左边的列中,选择要格式化的驱动器。如果您的驱动器未列出,请确保它已插入,然后选择“工具>刷新设备”(或使用键盘上的F5键)。除非您想破坏驱动器的现有分区表,否则不要继续。选择驱动器后,单击顶部工具栏中的新建分区表。系统将提示您为分区选择卷标:gpt或msdos。前者更灵活,可以处理更大的驱动器,而后者与微软的许多技术一样,是市场份额较大的事实标准。现在您已经有了一个新的分区表,在右侧面板中右键单击您的设备并选择“新建”以创建一个新分区,按照提示设置分区类型和大小。此操作包括分区步骤和创建文件系统。创建新分区要将更改应用到您的驱动器,请单击窗口左上角的“应用”按钮。硬盘,易于驱动在Linux上处理硬盘很容易,如果您了解硬盘的语言,就更容易了。自从切换到Linux后,我就可以随心所欲地处理我的硬盘了。由于Linux在处理存储方面提供的透明性,恢复数据也变得更加容易。如果您想要试验并了解更多有关硬盘的信息,这里有一些提示:备份您的数据,而不仅仅是您正在试验的驱动器。只需要一个小的错误处理就可以破坏重要驱动器的分区。(这是了解重建丢失分区的好方法,但不是很有趣)。仔细检查您找到的驱动器是否正确。我经常使用lsblk来确保我没有移动驱动器。(因为很容易从两个单独的USB端口移除两个驱动器,然后以不同的顺序重新连接它们,很容易导致它们获得新的驱动器标签。)花时间“销毁”您测试的驱动器,看看您是否可以获得数据回来。重新创建分区表或尝试在删除文件系统后恢复数据是一个很好的学习经验。更有趣的是,如果您周围有一个封闭的操作系统,请尝试在其上使用开源文件系统。有几个项目致力于这种兼容性,并试图让它们以可靠和稳定的方式工作是一个很好的副项目。