写一个每次重启默认执行重新挂载所有分区的mount-a脚本
时间: 2024-09-20 10:07:36 浏览: 42
编写一个在Linux启动时自动挂载所有分区的脚本(通常称为init.d或Systemd服务),你可以创建一个shell脚本,比如bash脚本。下面是一个简单的示例,假设你已经有了一个名为`mnt_all.sh`的文本文件,并且你想在`/etc/rc.local`或者`/etc/systemd/user.target.wants/mnt_all.service`(Systemd下)添加这个自动挂载:
```bash
#!/bin/bash
# 列出所有的挂载点和对应的设备名
MOUNT_POINTS="(
/mnt/dev/sda1 # 替换为你的设备和分区
/mnt/dev/sdb2
...)"
# 挂载每个分区
for point in $MOUNT_POINTS
do
echo "Checking if $point needs to be mounted..."
if [ ! -e "$point" ]; then
echo "Mounting $point..."
sudo mount /dev/$(/bin/lsblk -no NAME,UUID | grep "^$point$" | awk '{print $2}').uuid "$point"
# 添加日志记录或者检查挂载状态
echo "Mounted $point successfully."
else
echo "$point is already mounted."
fi
done
exit 0
```
请注意,你需要替换`/mnt/dev/sda1` 和 `/mnt/dev/sdb2`等部分为实际的磁盘分区路径。此外,此脚本依赖于`lsblk`命令,确保它已安装。
阅读全文