什么是块设备?
硬盘驱动器通常称为“块设备”,因为硬盘驱动器在固定大小的块中读取和写入数据。 这样可以将硬盘驱动器与您可能插入计算机的其他任何设备区分开,例如打印机,游戏手柄,麦克风或相机。 列出连接到Linux系统的块设备的简单方法是使用lsblk (列出块设备)命令:
$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 238.5G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 237.5G 0 part └─luks-e2bb...e9f8 253:0 0 237.5G 0 crypt ├─fedora-root 253:1 0 50G 0 lvm / ├─fedora-swap 253:2 0 5.8G 0 lvm [SWAP] └─fedora-home 253:3 0 181.7G 0 lvm /home sdb 8:16 1 14.6G 0 disk └─sdb1 8:17 1 14.6G 0 part
该设备标识符在左栏,每个SD开始,并以字母结尾,开头的 。 每个驱动器的每个分区都分配有一个数字,从1开始。 例如,第一个驱动器的第二个分区是sda2 。 如果不确定分区是什么,那就没问题-继续阅读。
lsblk命令是非破坏性的,仅用于探测,因此您可以运行它而不必担心会损坏驱动器上的数据。
用dmesg测试
如有疑问,可以通过查看dmesg命令的末尾来测试设备标签分配,该命令显示最近的系统日志条目,包括内核事件(例如,连接和分离驱动器)。 例如,如果要确保拇指驱动器确实是/ dev / sdc ,请将其插入计算机并运行以下dmesg命令:
$ sudo dmesg | tail
列出的最新驱动器是您刚刚插入的驱动器。如果将其拔出并再次运行该命令,则会看到设备已被卸下。 如果再次将其插入并运行命令,则设备将在那里。 换句话说,您可以监视内核对驱动器的感知。
了解文件系统
如果只需要设备标签,就可以完成工作。 但是,如果您的目标是创建可用的驱动器,则必须为该驱动器提供文件系统。
如果不确定文件系统是什么,则可以通过了解根本没有文件系统时会发生什么来理解该概念。 如果您的备用驱动器上没有任何重要数据,则可以按照以下示例操作。 否则, 请勿尝试此练习,因为它会根据设计明确擦除数据。
可以使用没有文件系统的驱动器。 一旦确定,正确识别了驱动器,并且完全验证了驱动器上没有什么重要的东西,就可以将其插入计算机中,但不要安装它。 如果自动安装,请手动卸载。
$ su - # umount /dev/sdx{,1
为了防止灾难性的复制粘贴错误,这些示例在驱动器上使用了不太可能的sdx标签。
现在已卸载驱动器,请尝试以下操作:
# echo 'hello world' > /dev/sdx
您只是将数据写入了块设备,而没有将其安装在系统上或没有文件系统。
要检索刚刚写入的数据,可以在驱动器上查看原始数据:
# head -n 1 /dev/sdx hello world
这似乎工作得很好,但是可以想象一下“ hello world”是一个文件。 如果要使用此方法编写新的“文件”,则必须:
-
知道第1行上已经存在一个“文件”
-
知道现有的“文件”仅占用1行
-
提供一种添加新数据的方法,或者在写入第2行时重写第1行
例如:
# echo 'hello world > this is a second file' >> /dev/sdx
要获取第一个文件,没有任何变化。
# head -n 1 /dev/sdx hello world
但是获取第二个文件更为复杂。
# head -n 2 /dev/sdx | tail -n 1 this is a second file
显然,这种写和读数据的方法不切实际,因此开发人员已经创建了一些系统来跟踪文件的构成,一个文件的开始和结束等。
大多数文件系统都需要一个分区。
创建分区
假设驱动器为4GB,则可以使用GNU parted命令从终端创建一个大分区:
# parted /dev/sdx --align opt mklabel msdos 0 4G
该命令首先指定设备路径,如parted所要求。
通过–align选项, parted可以找到分区的最佳起点和终点。
mklabel命令在设备上创建一个分区表(称为磁盘标签 )。 本示例使用msdos标签,因为它是一个非常兼容且流行的标签,尽管gpt变得越来越普遍。
最后定义分区的所需起点和终点。 由于使用了–align opt标志, parted将根据需要调整大小以优化驱动器性能,但是这些数字仅作为参考。
接下来,创建实际的分区。 如果开始和结束选择都不是最佳选择, parted会警告您并询问您是否要进行调整。
# parted /dev/sdx -a opt mkpart primary 0 4G Warning: The resulting partition is not properly aligned for best performance: 1s % 2048s != 0s Ignore/Cancel? C # parted /dev/sdx -a opt mkpart primary 2048s 4G
如果再次运行lsblk (您可能必须拔下驱动器,然后再插回去),您会看到驱动器上现在有一个分区。
手动创建文件系统
有许多可用的文件系统。 有些是免费和开源的,而有些则不是。 一些公司拒绝支持开放源文件系统,因此他们的用户无法从开放文件系统中读取内容,而开放源用户无法在未经反向工程的情况下从封闭文件中读取内容。
尽管存在这种断开连接,但是您仍然可以使用许多文件系统,而选择的文件系统取决于驱动器的用途。 如果您希望驱动器在许多系统之间都兼容,那么当前唯一的选择就是exFAT文件系统。 Microsoft尚未将exFAT代码提交给任何开源内核,因此您可能必须在程序包管理器中安装exFAT支持,但是Windows和MacOS均包含对exFAT的支持。
一旦安装了exFAT支持,就可以在创建的分区中的驱动器上创建一个exFAT文件系统。
# mkfs.exfat -n myExFatDrive /dev/sdx1
现在,您的驱动器可以由封闭系统和使用其他内核模块(并且尚未由Microsoft批准)的开源系统读取和写入。
是Linux原生的通用文件系统。 对于便携式驱动器来说,这可能是一个麻烦的文件系统,因为它保留了用户权限,一台计算机与另一台计算机通常不同,但通常是可靠且灵活的文件系统。 只要您可以轻松地管理权限,ext4就是一个很棒的,用于便携式驱动器的日志文件系统。
# mkfs.ext4 -L myExt4Drive /dev/sdx1
拔下驱动器,然后将其重新插入。对于ext4便携式驱动器,请使用sudo创建目录,并将该目录的权限授予系统中的用户和公共组。 如果不确定要使用的用户和组,则可以使用sudo修改root的读/写权限,也可以在驱动器出现问题的系统上用root修改。
使用桌面工具
很高兴知道如何处理驱动器,而您和块设备之间只有一个Linux shell,但是有时候您只想准备一个驱动器即可使用,而无需进行太多有见地的探索。 GNOME和KDE开发人员提供的出色工具可以使您的驱动器准备工作变得容易。
和是图形界面,为本文到目前为止介绍的所有内容提供了一个一体化的解决方案。 启动这两个应用程序之一,以查看连接的设备列表(在左列中),创建分区或调整分区大小以及创建文件系统。
KDE分区管理器
可以预见,GNOME版本比KDE版本更简单,因此我将演示更复杂的版本-如果您方便的话,很容易弄清楚GNOME磁盘。
启动KDE分区管理器,然后输入您的root密码。
在左列中,选择要格式化的磁盘。 如果未列出您的驱动器,请确保已插入驱动器,然后选择“ 工具” >“ 刷新设备” (或键盘上的F5 )。
除非您准备破坏驱动器的现有分区表,否则请不要继续。 选择驱动器后,单击顶部工具栏中的“ 新建分区表 ”。 系统将提示您选择要分配给分区表的标签: gpt或msdos 。 前者更灵活,可以处理更大的驱动器,而后者像许多Microsoft技术一样,是通过市场份额推动的事实上的标准。
现在您有了一个新的分区表,在右面板的设备上单击鼠标右键,然后选择“ 新建”以创建一个新分区。 按照提示设置分区的类型和大小。 该操作将分区步骤与创建文件系统结合在一起。
创建一个新分区
要将更改应用到驱动器,请单击窗口左上角的“ 应用”按钮。
硬盘驱动器,简易驱动器
在Linux上处理硬盘驱动器很容易,如果您了解硬盘驱动器的语言,甚至会更容易。 自从改用Linux之后,我已经准备好以我希望它们为我工作的任何方式准备驱动器。 由于Linux在处理存储时提供了透明性,因此我也更容易恢复丢失的数据。
如果您想尝试并了解有关硬盘驱动器的更多信息,那么这里有一些最后的提示:
-
备份您的数据,而不只是备份您正在试验的驱动器上的数据。 所要做的就是错误地破坏重要驱动器的分区(这是学习重新创建丢失的分区的一种好方法,但是乐趣不多)。
-
验证,然后重新验证您要定位的驱动器是正确的驱动器。 我经常使用lsblk来确保自己没有移动驱动器。 (很容易从两个单独的USB端口中卸下两个驱动器,然后随意地以不同的顺序重新连接它们,从而使它们获得新的驱动器标签。)
-
花时间“破坏”测试驱动器,看看是否可以恢复数据。 在删除文件系统后重新创建分区表或尝试取回数据是很好的学习经验。
以上就是为各位朋友分享的相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多等着你!