blkid命令 获取文件系统类型、UUID和开机自动挂载硬盘

Linux UUID与blkid命令

在Linux下可以使用blkid命令对查询设备上所采用文件系统类型进行查询。blkid主要用来对系统的块设备(包括交换分区)所使用的文件系统类型、LABEL、UUID等信息进行查询。要使用这个命令必须安装e2fsprogs软件包。
直接使用blkid可列出当前系统中所以已挂载文件系统的类型
如果你试图安装或者升级到最新的ubuntu,你或许会发现所有的存储设备现在都用一个叫UUID的字符串来表示了。UUID-Universally Unique IDentifiers,翻译过来就是“全局唯一标志符”。

UUID到底是什么?

UUID是一个标帜你系统中的存储设备的字符串,其目的是帮助使用者唯一的确定系统中的所有存储设备,不管它们是什么类型的。它可以标识DVD驱动器,USB存储设备以及你系统中的硬盘设备等。一个典型的UUID看起来就是这样:

c73a37c8-ef7f-40e4-b9de-8b2f8103844

那为什么要使用UUID呢?

原因1:它是真正的唯一标志符

UUID为系统中的存储设备提供唯一的标识字符串,不管这个设备是什么类型的。如果你在系统中添加了新的存储设备如硬盘,很可能会造成一些麻烦,比如说启动的时候因为找不到设备而失败,而使用UUID则不会有这样的问题。

原因2:设备名并非总是不变的

自动分配的设备名称并非总是一致的,它们依赖于启动时内核加载模块的顺序。如果你在插入了USB盘时启动了系统,而下次启动时又把它拔掉了,就有可能导致设备名分配不一致。

使用UUID对于挂载移动设备也非常有好处──例如我有一个24合一的读卡器,它支持各种各样的卡,而使用UUID总可以使同一块卡挂载在同一个地方。

原因3:ubuntu中的许多关键功能现在开始依赖于UUID

例如grub──系统引导程序,现在可以识别UUID,打开你的/boot/grub/menu.lst,你可以看到类似如下的语句:
title Ubuntu hardy (development branch), kernel 2.6.24-16-generic
root (hd2,0)
kernel /boot/vmlinuz-2.6.24-16-generic root=UUID=c73a37c8-ef7f-40e4-b9de-8b2f81038441 ro quiet splash
initrd /boot/initrd.img-2.6.24-16-generic
quiet

查看设备的uuid

root@useradmin-Lenovo:~# blkid -s UUID
/dev/sda1: UUID="D8040D3E040D20DC"
/dev/sda5: UUID="000E7962000B34C0"
/dev/sda6: UUID="000D38F500016CA2"
/dev/sda7: UUID="000CBE310009728A"
/dev/sda8: UUID="000311B0000C14D6"
/dev/sdb1: UUID="575fec83-5ffc-4618-816a-dfb6066dc370"
/dev/sdb5: UUID="000E125200086C29"
/dev/sdb6: UUID="bf7a4028-3c88-445b-8af4-27a95165ccd0"

挂载设备
编辑

vi /etc/fstab
追加每个设备的UUID 都不一样
#/dev/sda5 
UUID="000E7962000B34C0" /media/user-admin/软件 ntfs defaults 0 2
#/dev/sdb5 on 
UUID="000E125200086C29" /media/user-admin/软件1 ntfs defaults 0 2
#/dev/sda8 on
UUID="000311B0000C14D6" /media/user-admin/软件备份  ntfs defaults 0 2 
#/dev/sda6 on
UUID="000D38F500016CA2" /media/user-admin/文档    ntfs defaults 0 2 
#/dev/sda7 on 
UUID="000CBE310009728A" /media/user-admin/虚拟化   ntfs defaults 0 2 
/dev/sda1 on 
UUID="D8040D3E040D20DC" /media/user-admin/D8040D3E040D20DC  ntfs defaults 0 2 

可以查看

root@useradmin-Lenovo:~# blkid
/dev/sda1: UUID="D8040D3E040D20DC" TYPE="ntfs" PARTUUID="9522e75d-01"
/dev/sda5: LABEL="M-hM-=M-/M-dM-;M-6" UUID="000E7962000B34C0" TYPE="ntfs" PARTUUID="9522e75d-05"
/dev/sda6: LABEL="M-fM-^VM-^GM-fM-!M-#" UUID="000D38F500016CA2" TYPE="ntfs" PARTUUID="9522e75d-06"
/dev/sda7: LABEL="M-hM-^YM-^ZM-fM-^KM-^_M-eM-^LM-^V" UUID="000CBE310009728A" TYPE="ntfs" PARTUUID="9522e75d-07"
/dev/sda8: LABEL="M-hM-=M-/M-dM-;M-6M-eM-$M-^GM-dM-;M-=" UUID="000311B0000C14D6" TYPE="ntfs" PARTUUID="9522e75d-08"
/dev/sdb1: UUID="575fec83-5ffc-4618-816a-dfb6066dc370" TYPE="ext4" PARTUUID="3b676d7c-01"
/dev/sdb5: LABEL="M-hM-=M-/M-dM-;M-6" UUID="000E125200086C29" TYPE="ntfs" PARTUUID="3b676d7c-05"
/dev/sdb6: UUID="bf7a4028-3c88-445b-8af4-27a95165ccd0" TYPE="swap" PARTUUID="3b676d7c-06"

转自:http://www.cnblogs.com/dkblog/archive/2011/08/30/2159630.html

<think>首先,用户的问题是关于“系统开机自动挂载硬盘到指定目录的方法”。这是一个Linux系统相关的问题,涉及配置/etc/fstab文件来实现开机自动挂载。 回顾系统级指令: - 所有行内数学表达式使用$...$格式(但这里可能不涉及数学)。 - 独立公式使用$$...$$(同样可能不适用)。 - LaTeX语法正确(但在回答中不需要复杂的LaTeX)。 - 使用中文回答。 - 生成相关问题。 - 回答中引用的段落末尾自然地添加引用标识,如[^1]。 用户提供的引用: - [^1]:Linux开机自动挂载硬盘,提到了解硬盘分区信息。 - [^2]:Kali Linux开机自动挂载硬盘,提到修改/etc/fstab文件。 - [^3]:Debian12下挂载硬盘,出错不影响系统启动,使用UUIDnofail选项。 - [^4]:Ubuntu开机自动挂载硬盘,提到获取UUID创建挂载目录。 - [^5]:Ubuntu开机自动挂载硬盘到指定文件夹,显示UUID示例。 这些引用都指向相同的核心方法:通过配置/etc/fstab文件来实现开机自动挂载。 用户的具体需求:查找系统开机自动挂载硬盘到指定目录的方法。 所以,我的回答需要结构化、清晰,步骤化地解释如何实现这个目标。主要步骤包括: 1. 获取硬盘分区的信息(如UUID或设备名)。 2. 创建挂载点目录。 3. 编辑'/etc/fstab'文件,添加挂载条目。 4. 可选:测试挂载并确保错误处理。 我需要确保语言是中文。 回答结构: 1. 介绍方法:简述通过'/etc/fstab'实现开机自动挂载。 2. 详细步骤: - 步骤1: 识别硬盘分区(使用UUID,因为它比设备名更稳定)。 - 步骤2: 创建挂载目录(指定用户想要的目录)。 - 步骤3: 编辑'/etc/fstab'文件,添加一行配置。 - 步骤4: 测试配置(使用'mount -a'命令测试)。 - 额外提示:如使用nofail选项防止启动失败。 3. 结束回答。 生成相关问题: - 类似于示例,如: 1. 如何获取硬盘UUID? 2. 什么是/etc/fstab文件的作用? 3. 如何解决自动挂载失败的问题? 引用标识:在回答中,如果引用了外部知识或参考,添加引用标识。这里,用户提供了引用,所以我应该在相关部分添加[^1], [^2]等。用户说“引用[1]:”,所以我需要使用这些引用。 用户说:“上述引用仅供参考,并不是用户真正的需求,请尽可能多的参考用户上一次的问题你的回答。” 但在这个对话中,这是第一次用户的问题,之前没有历史。所以,我应该基于当前问题引用回答。 用户的问题:“我想查找系统开机自动挂载硬盘到指定目录的方法 请问系统开机自动挂载硬盘到指定目录的实现方法” 所以,直接回答这个。 完整回答框架: - 开头:解释'/etc/fstab'的作用。 - 步骤详解: - 获取分区UUID:使用'blkid'或'lsblk'命令。 - 创建挂载点:使用'mkdir'命令。 - 编辑/etc/fstab:添加一行,格式如:UUID=xxxx-xxxx /mount/point filesystem_type options dump fsck_order - 测试:'sudo mount -a' - 注意事项:如备份fstab文件,使用nofail选项。 - 结尾:确认方法。 生成相关问题: - 在结束前添加"§§相关问题§§"部分,列出2-3个问题。 最后,确保回答真实可靠,基于Linux知识。 </think>### 系统开机自动挂载硬盘到指定目录的实现方法 在 Linux 系统中,开机自动挂载硬盘到指定目录是通过配置 `/etc/fstab` 文件实现的。`/etc/fstab`(文件系统表)是一个系统配置文件,用于定义磁盘分区、挂载相关选项,系统启动时会自动加载这些设置。这种方法适用于 Ubuntu、Debian、Kali Linux 等主流发行版,且操作简单可靠。以下是详细步骤(以普通用户权限操作,部分命令需使用 `sudo`): #### 步骤 1: 获取硬盘分区的唯一标识(推荐使用 UUID硬盘分区通常使用 UUID(通用唯一标识符)而非设备名(如 `/dev/sda1`),因为 UUID 在分区格式不变时稳定,避免设备名变化导致挂载失败。 - **命令示例**: ```bash sudo blkid # 列出所有硬盘分区信息,包括 UUID 文件系统类型 ``` - 输出示例(参考引用[^5]): ``` /dev/sda1: UUID="abcd1234-abcd-1234-abcd-1234567890ab" TYPE="ext4" /dev/sdb1: UUID="abcd5678-abcd-5678-abcd-1234567890ab" TYPE="ntfs" ``` - 记录目标分区的 UUID 文件系统类型(如 `ext4`、`ntfs` 等)。这一步确保系统能正确识别硬盘[^1][^4]。 #### 步骤 2: 创建挂载点目录 挂载点目录是硬盘内容在系统中的访问路径,需提前创建。 - **命令示例**: ```bash sudo mkdir -p /path/to/your/directory # 替换为你的指定目录,如 /mnt/data ``` - 例如:`sudo mkdir -p /mnt/data` 创建一个名为 `data` 的挂载目录。 - 权限设置:使用 `sudo chmod 755 /path/to/your/directory` 确保目录可读可写(可选,但推荐)[^4]。 #### 步骤 3: 编辑 `/etc/fstab` 文件 添加一行配置来定义自动挂载规则。使用文本编辑器(如 `nano` 或 `gedit`)修改文件。 - **命令示例**: ```bash sudo nano /etc/fstab # 使用 nano 编辑器,替换为 vim 或 gedit ``` - **添加的配置行格式**: ``` UUID=your_uuid /path/to/your/directory filesystem_type options dump fsck_order ``` - **参数说明**: - `UUID=your_uuid`:替换为步骤 1 中记录的 UUID。 - `/path/to/your/directory`:替换为步骤 2 创建的挂载目录。 - `filesystem_type`:替换为文件系统类型(如 `ext4`、`ntfs`)。 - `options`:挂载选项: - 推荐使用 `defaults,noatime,nofail`: - `nofail` 确保硬盘未连接或出错时,系统仍能正常启动(关键安全选项,参考引用[^3])。 - `noatime` 减少硬盘写入,提升性能(可选)。 - `dump`:设置为 `0`(表示不备份)。 - `fsck_order`:设置为 `0`(表示不检查)。 - **示例配置**(参考引用[^3][^5]): ``` UUID=abcd1234-abcd-1234-abcd-1234567890ab /mnt/data ext4 defaults,noatime,nofail 0 0 ``` - 如果是 NTFS 格式(常见于 Windows 硬盘),需安装 `ntfs-3g` 包(如 `sudo apt-get install ntfs-3g`),并将 `filesystem_type` 改为 `ntfs`(参考引用[^2])。 #### 步骤 4: 测试配置并生效 - **测试 `/etc/fstab` 配置**: ```bash sudo mount -a # 挂载所有 fstab 条目,检测错误 ``` - 如果无报错,表示配置正确。 - 如果有错误:检查 UUID 挂载点路径,修复后重试。 - **验证挂载**: ```bash df -h # 查看已挂载分区,确认目标目录显示正确的硬盘空间 ``` #### 注意事项 - **备份 `/etc/fstab`**:编辑前运行 `sudo cp /etc/fstab /etc/fstab.bak`,避免配置错误导致系统无法启动。 - **权限问题**:如果挂载后目录无法读写,尝试在 `options` 中添加 `umask=000`(如 `defaults,nofail,umask=000`)。 - **重启生效**:测试成功后,使用 `sudo reboot` 重启系统验证自动挂载。 - **通用性**:此方法适用于大多数 Linux 发行版,Debian/Ubuntu/Kali Linux 实测有效(参考引用[^2][^3][^4])。 通过以上步骤,硬盘将在每次开机自动挂载到指定目录,无需手动操作[^1][^3]。如果您遇到问题(如 UUID 获取失败或挂载错误),可参考相关解决方案。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值