如何挂载dvd-rw驱动器/创建挂载点


11

我刚得到Ubuntu 12.10。所以我是新手。

我有带分区的sata硬盘-sda 1(交换)sda 2(安装点/)和sda 3(安装点/ home)。
今天,我添加了另一个内部硬盘(不是sata),我计划仅将其用于数据,其安装点为/ media / sdb1。

但是,在添加另一个HD ubuntu之后,不再挂载我的dvd rw驱动器了。
我收到此错误:

安装点介质cdrom0不存在

我在终端中尝试过:

挂载/光驱

并得到这个:

挂载:在etc / fstab或etc / mtab中找不到/ cdrom

我该怎么办?

Answers:


14

我查看了/ dev。那里的文件叫做dvd。我输入了“ ls -al / dev / dvd”,它告诉我这是/ dev / sr0的链接。我从这个回应中推断出:

lrwxrwxrwx 1 root root 3 Apr 24 15:56 /dev/dvd -> sr0

第一个“ l”表示它是一个链接,而不是实际文件。

然后,我看着/。那里有一个名为“ mnt”的目录,这是已安装外围设备子目录的通常节点。它是空的。

我使用以下命令创建了/ mnt的子目录:

sudo mkdir /mnt/cdrom

然后,我在其中安装了sr0:

sudo mount /dev/sr0 /mnt/cdrom

看,我看着它:

ls /mnt/cdrom

它提出了很多看起来不错的东西,所以我得出了成功。


1
更笼统地说: mkdir anythingAtAll; sudo mount /dev/sr0 anythingAtAll
卡米尔·古德塞内

仍然在2017年,这是在Ubuntu 17.04上对我有用的解决方案。不知道为什么Nautilus不会像其他任何可移动媒体那样自动挂载,但这是可行的。
seanlano

2

CD / DVD驱动器规则:在插入“ / media / DVD”时装入驱动器

如果要恢复自动挂载并对其进行一些控制,请执行此操作。

  • 插入介质后自动创建安装点
  • 自动将介质装入具有特定权限的装入点
  • 移除介质后自动移除安装点

行动:CD / DVD托盘中有介质并被拉入

您必须告诉您的系统对此操作做出反应。您可以让它运行安装脚本(任何自定义脚本)。为此,您需要在文件夹中创建一个新规则lib/udev/rules.d。这些命令需要以root身份运行(使用sudo以下命令的前缀可以以root 身份运行它们,或成为root用户sudo -s

  • 制作一个新文件并将其命名为autodvd.rules touch /lib/udev/rules.d
  • 通过运行查找有关您的CD / DVD驱动器的信息udevadm info --query=all --attribute-walk --name=/dev/sr0(这里不是必需的root,但可以双向运行)寻找唯一标识您的驱动器的东西(无论我选择的ATTRS{vendor}=="HL-DT-ST"是好坏,这就是我的驱动器(除非您选择,否则您会有所不同)碰巧与我拥有相同的驱动器)。将其复制到某个位置以备后用。您可以花一些时间查看此文件,并将其与以下规则示例进行比较。可以在其中找到SUBSYSTEM和ATTRS。
  • 编辑您的新规则(您可以使用您选择的任何编辑器,我也可以使用vim /lib/udev/rules.d,但是nano /lib/udev/rules.d也很容易。添加这些内容,编辑ATTRS以使其与您的规则相匹配(这是敏感的部分,如果需要,可以选择其他属性)不起作用)并更正YOURUSER和YOURGROUP字段:

KERNEL=="sr[0-9]*", SUBSYSTEM=="block", ATTRS{vendor}=="HL-DT-ST", SYMLINK+="dvdburner", OWNER="YOURUSER", GROUP="YOURGROUP" ACTION=="change",RUN+="/home/YOURUSER/Scripts/Bash/automountdvd.sh"

  • KERNEL=="sr[0-9]*"只是意味着它会检测所有scsi设备(SR0-SR9)
  • SYMLINK仅仅是一个符号链接到驱动器(比如/dev/cdrom是真实的/dev/sr0

您可能需要重新加载所有udev规则:

udevadm control --reload rules
reload udev
udevadm trigger

挂载脚本

将以下内容保存在类似的位置:/home/YOURUSER/Scripts/Bash/automountdvd.sh并更正YOURUSER和YOURGROUP字段。哦,顺便说一句,将这个脚本放在用户文件夹中很危险,因为它将由root用户运行,这意味着如果有人入侵了您的用户文件夹,他们可以调整脚本以执行所需的任何操作,然后root用户可以运行它(可能会成功,因为root用户可以完全控制系统)将其隐藏在只有root用户可以看到的文件夹中可能更好。如果您正在尝试,那很好。

#!/bin/bash
{
mountpoint="/media/DVD"
user=YOURUSER
group=YOURGROUP

uid=$(id -u ${user})
gid=$(id -g ${group})
FS_TYPE="`blkid /dev/sr0 | grep -o 'udf'`"
if [ ${FS_TYPE} == 'udf' ]; then
    echo "ID_CDROM_MEDIA set to 1, creating ${mountpoint} and attempting to mount DVD."
    mkdir -p ${mountpoint} && chown ${user}:${group} ${mountpoint}
    mount -t ${FS_TYPE} -o ro,uid=${uid},gid=${gid} /dev/sr0 ${mountpoint}
    echo "DVD mounted at ${mountpoint}."
else
    echo "Attempting to unmount -l ${mountpoint}."
    umount -l ${mountpoint}
    rm -rf ${mountpoint}
    echo "Unmounting ${mountpoint} and removing folder ${mountpoint}."
fi
} &>> "/var/log/autodvd.log" &

1

如果要手动挂载cd / cdrom / dvd /任何文件,则应首先查看目录/ dev,例如使用ls /dev。它可能称为dvd1。然后用安装sudo mkdir /mnt/dvd1 && sudo mount /dev/dvd1 /mnt/dvd1


1
我在/ dev中得到了cdrw1。我尝试这样做并得到:安装:在/ dev / sr0上找不到介质
user132378

1
mount: no medium found on /dev/sr0我希望rw驱动器可以像以前那样安装在操作系统的每个启动位置。
user132378

我挂载了:/ dev / sr0上未找到任何介质,但是在插入磁盘并再次尝试后没问题
rshdev '18
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.