linux 特殊设备挂载

特殊设备挂载

iso 挂载
iso文件的挂载,可以用虚拟光驱读取,然后通过mount  /dev/cdrom  /<mount_point>
也可以直接挂载iso文件
mount -o loop <path>.iso  /<mnt_point>
例:(linux 为我在宿主机上的文件夹,先通过共享文件夹形式来挂载iso文件。)

[root@linusfay ~]# mount -t vboxsf linux /mnt/share
[root@linusfay ~]# ls -l /mnt/share
total 17104215
-rwxrwxrwx 1 root root   72058033 Jan 10  2013 jdk-6u38-linux-x64.bin
-rwxrwxrwx 1 root root       1366 May  5  2013 jdk.txt
-rwxrwxrwx 1 root root 3845576704 Jul 29  2011 OracleLinux-5.7-x86_64.iso
-rwxrwxrwx 1 root root 3675326464 Sep  9 19:06 OracleLinux-6.3-x86_64.iso
-rwxrwxrwx 1 root root 2668521472 Aug 26  2011 RED AS 4.iso
-rwxrwxrwx 1 root root 3573778432 May  5  2013 rhel-server-5.4-x86_64-dvd(1).iso
-rwxrwxrwx 1 root root 3679453184 May  4  2013 rhel-server-6.3-x86_64-dvd(1).iso
[root@linusfay ~]#
[root@linusfay ~]#
[root@linusfay ~]# mount -o loop /mnt/share/OracleLinux-5.7-x86_64.iso  /media/cdrom
[root@linusfay ~]# ls -l /media/cdrom
total 723
-rw-r--r-- 1 root root   5165 Jul 29  2011 blafdoc.css
drwxr-xr-x 3 root root   2048 Jul 29  2011 Cluster
drwxr-xr-x 3 root root   4096 Jul 29  2011 ClusterStorage
-rw-r--r-- 1 root root   6830 Jul 29  2011 EULA
-rw-r--r-- 1 root root   7041 Jul 29  2011 eula.en_US
-rw-r--r-- 1 root root   3334 Jul 29  2011 eula.py
-rw-r--r-- 1 root root  18390 Jul 29  2011 GPL
drwxr-xr-x 4 root root   2048 Jul 29  2011 images
drwxr-xr-x 2 root root   2048 Jul 29  2011 isolinux
-rw-r--r-- 1 root root   3547 Jul 29  2011 README-en
-rw-r--r-- 1 root root   7897 Jul 29  2011 README-en.html
-rw-r--r-- 1 root root  33470 Jul 29  2011 RELEASE-NOTES-en
-rw-r--r-- 1 root root  36140 Jul 29  2011 RELEASE-NOTES-en.html
-rw-r--r-- 1 root root   1397 Jul 29  2011 RPM-GPG-KEY
-rw-r--r-- 1 root root   1397 Jul 29  2011 RPM-GPG-KEY-oracle
drwxr-xr-x 4 root root 589824 Jul 29  2011 Server
-rw-r--r-- 1 root root    105 Jul 29  2011 supportinfo
-r--r--r-- 1 root root   4436 Jul 29  2011 TRANS.TBL
drwxr-xr-x 3 root root   8192 Jul 29  2011 VT

新建大文件以制作loop文件设备

我们也可以自己新建一个大文件,然后将这个文件格式化后挂载。

#1、创建大文件

[root@linusfay home]# dd if=/dev/zero of=/home/loopdev bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 18.2302 seconds, 58.9 MB/s

#2、格式化文件
[root@linusfay home]# mkfs -t ext3 /home/loopdev
mke2fs 1.39 (29-May-2006)
/home/loopdev is not a block special device.
Proceed anyway? (y,n) y <=由于不是正常设备,这里会提示
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
131072 inodes, 262144 blocks
13107 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=268435456
8 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376

Writing inode tables: done                            
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 27 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

#3、挂载

[root@linusfay home]# mount -o loop /home/loopdev /mnt/share
[root@linusfay home]#
[root@linusfay home]# mount -l
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw) [/boot]
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/sr0 on /media/cdrom type iso9660 (ro) [OL5.7 x86_64 dvd 20110728]
/home/loopdev on /mnt/share type ext3 (rw,loop=/dev/loop1)--已经挂载成功
#df命令也可以查看到
[root@linusfay home]# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                      37422600  14025424  21465504  40% /
/dev/sda1               101086     23321     72546  25% /boot
tmpfs                   825584    454168    371416  56% /dev/shm
/dev/sr0               3755446   3755446         0 100% /media/cdrom
/home/loopdev          1032088     34092    945568   4% /mnt/share

新建大文件制作loop设备文件挂载这种方法很有用,能够帮我们解决很多分区不良的情况,可以在不改变原有的分区的情况下,制作出来想要的分区


### Linux 系统中 USB 设备挂载方法 在 Linux 系统中,USB 设备挂载可以通过多种方式实现。以下将详细介绍通过手动挂载、自动挂载以及使用 udev 规则实现自动挂载的方法。 #### 手动挂载 USB 设备 为了手动挂载 USB 设备,首先需要确定设备文件路径和挂载点。可以使用 `lsblk` 或 `df -h` 命令查看已连接的 USB 设备及其对应的设备文件路径。例如,假设 USB 设备设备文件路径为 `/dev/sdb1`,挂载点为 `/mnt/usb`,则可以执行以下命令完成挂载操作: ```bash sudo mkdir -p /mnt/usb sudo mount /dev/sdb1 /mnt/usb ``` 完成挂载后,可以通过访问 `/mnt/usb` 目录来读取或写入 USB 设备中的数据[^1]。 #### 自动挂载 USB 设备 如果希望在插入 USB 设备时自动挂载,可以利用 `udev` 规则实现。首先,需要确定 USB 设备的属性,如供应商 ID(idVendor)和产品 ID(idProduct)。这可以通过运行 `lsusb` 命令获取[^2]。例如,假设 USB 设备的供应商 ID 为 `0781`,产品 ID 为 `5567`,则可以创建以下规则文件: ```bash sudo nano /etc/udev/rules.d/99-usb-mount.rules ``` 在文件中添加以下内容: ```plaintext ACTION=="add", SUBSYSTEMS=="usb", ATTRS{idVendor}=="0781", ATTRS{idProduct}=="5567", RUN+="/bin/mkdir -p /mnt/usb", RUN+="/bin/mount /dev/%k /mnt/usb" ACTION=="remove", SUBSYSTEMS=="usb", ATTRS{idVendor}=="0781", ATTRS{idProduct}=="5567", RUN+="/bin/umount /mnt/usb", RUN+="/bin/rmdir /mnt/usb" ``` 保存并关闭文件后,重启 `udev` 服务以使规则生效: ```bash sudo service udev restart ``` 这样,当插入指定的 USB 设备时,系统会自动将其挂载到 `/mnt/usb` 目录;拔出设备时,系统会自动卸载并删除挂载点[^3]。 #### 使用 systemd 实现更灵活的自动挂载 对于更复杂的场景,可以结合 `systemd` 和 `udev` 实现更灵活的自动挂载。例如,在 `udev` 规则中调用 `systemd-mount` 命令完成挂载操作。以下是一个示例规则: ```plaintext SUBSYSTEMS=="usb", SUBSYSTEM=="block", ACTION=="add", RUN{program}+="/usr/bin/systemd-mount -o umask=000 --no-block --collect /dev/%k /mnt/%k" SUBSYSTEMS=="usb", SUBSYSTEM=="block", ACTION=="remove", RUN{program}+="/usr/bin/systemd-umount /mnt/%k" ``` 此规则会在插入 USB 设备时动态创建挂载点,并在拔出设备时自动卸载[^3]。 --- ### 注意事项 - 在手动挂载 USB 设备之前,请确保目标挂载点目录存在。 - 如果需要跨用户访问 USB 设备中的数据,可以在挂载时设置适当的权限。例如,使用 `-o uid=1000,gid=1000,umask=000` 参数。 - 对于某些特殊设备,可能需要调整挂载选项以支持特定文件系统类型(如 NTFS 或 exFAT)。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值