linux下修改fstab权限不够,简单无痛解决Linux下修改/etc/fstab导致无法启动的问题-Go语言中文社区...

基本情况:

我电脑上装了deepin+win10双系统,平时使用Deepin,偶尔手痒想玩两把跑跑卡丁车的时候就会切到Win10,所以为了两个系统共享方便,就分一个FAT32的分区,用EFI什么的也更方便一点,所以音乐文件也放在该分区下,前不久也重装了Deepin 15.1.1(吐槽一下:有点失望,桌面上的内容不显示),所以也就没有及时配置自动挂载,今天配置的时候直接搬了上面的ext4分区的参数,结果就起不来了。

不过这次文章所介绍的核心原理很简单:把/etc/fstab改正确就行了,系统都起不来怎么改?继续往下看。

方案一:有root账号的情况

有root账号这个比较好办,启动不了的话,直接就会让你输入root密码,登录成功后就进入字符模式,可以直接修改/etc/fstab,然后reboot即可。

format,png

挂载失败,让输入root密码

当然如果你的Linux没有这个提示也可以手动进入恢复模式(Recovery Mode)。

一般Linux启动菜单最少有两个选项:一个正常启动,另一个是高级模式(Advance)。而高级模式中的包含了恢复模式(基本上是放在最后,毕竟很少使用),其它的菜单都是备份内核升级前的启动菜单。

例如我的启动菜单:Deepin 15.1.1 GNU/Linux

Advanced options for Deepin 15.1.1 GNU/Linux

|---- Deepin 15.1.1 GNU/Linux, with Linux 4.2.0-1-amd64

|---- Deepin 15.1.1 GNU/Linux, with Linux 4.2.0-1-amd64 (recovery mode)

|---- 假装是其它内核的选项

Windows Boot Manager

System setup

所以我们任选带有recovery mode字样的选项会出现这样的一个界面

format,png

恢复模式(Recovery Mode)

可以看到最上面提示filesystem state:read-only,即文件系统是只读的,不过这都不是问题,有了root账号,一切都是浮云。

选择 root,会提示输入root密码,登录后先输入mount -o remount,rw /        # 将根文件系统重新挂载为读写状态

不然是无法修改文件的,如果没有任何提示信息的话用mount查看根目录的状态应该已经是读写状态mount | grep " / "        # 查看根文件系统是否变

format,png

重新挂载为可写状态

这时就可以修改 /etc/fstab 文件啦。

方案二:没有root账号(今日采用)

我的情况就比较特殊,平时没有开root账号,都是用sudo,要切换到root账号时也是直接sudo su就行了,所以启动时和恢复模式也提示root账号已被锁,所以方案一行不通。本方案的主要内容就是:如何弄出一个root账号

我们知道linux将账号密码都存在/etc/passwd或/etc/shadow中,所以只要不让kernel挂载我们根文件系统就OK了。

1、重启计算机,在Grub启动菜单上按“E”进入编辑模式。

2、定位到 linux 开头的行(grub 1.x为kernel开头),如:linux /boot/vmlinuz-4.2.0-1-amd64 root=UUID=57c612a5-984b-4b14-bd1d-6c91f528cf9e ro  splash quiet

3、删除其余的参数,主要是root参数,如下:linux /boot/vmlinuz-4.2.0-1-amd64

4、按F10或ctrl+x启动修改后的菜单。

注:这里的编辑模式不会修改文件,如果改错了按ESC返回,重新走第一步就行了。

当你出现下图时说明成功绕过系统提供的账号体系

format,png

ramfs启动图

此时输入命令id验证

format,png

ramfs成功使用上了root账号

需要注意的是此时kernel使用文件系统为内存模拟的磁盘,所以我们所作的任何操作不会影响我们真正的系统,要想修改我们原本系统中的文件必须挂载原系统的根目录到我们现在使用的系统下。mkdir /tmp/root  # 创建一个目录用于挂载真正系统的根目录

mount /dev/sda3 /tmp/root # 挂载设备到我们创建的文件夹下,我系统的磁盘设备为sda3,sda1和sda2分别为ESP、MSR

vi /tmp/root/etc/fstab # 注意busybox没有提供vim,还有文件路径的变化,不在是/etc/fstab了

修改完保存后直接reboot就ok了。

方案二原理:

上面介绍方案二的时候第2步提到 “定位到 linux 开头的行”,其实在linux命令下面一般还有以initrd开头的一行,如:linux /boot/vmlinuz root=/dev/sda3

initrd /boot/initrd.img

这里的vmlinuz就是Linux kernel内核,而initrd.img实际上是一个经过gzip或lzma压缩的cpio归档文件,initrd(initial RAM disk,初始化内存磁盘) 是最开始使用的根文件系统里面也有/etc,/bin,/usr,/dev等目录还包含了一些基本配置、驱动、命令等,等磁盘设备加载完后,再将指定的磁盘分区挂载为根文件系统,去执行该根文件系统下的初始化操作完成启动(不一定完全准确,大致流程应该是这样),不然你想想挂载要mount命今,而mount在/bin下,而这时候还 / 都还没有,如此循环。。

format,png

我认为的启动流程

由于没有加载我们真正的根文件系统,所以账号密码都没有,但我们可以手动挂载,并以达到修改fstab的目的,是不是有一种PE的感觉呢?只想你想当然也可以干点别的,就看你怎么发挥了,不要拿去干坏事哟。

该initrd.img是可以自定义的,网上有很多文章,以前做过一个,给root账号加上密码,用来放在U盘里,这样别人想使用你的 ramfs也是不行的,只不过系统提供的肯定是没有的。

作者:怪盗kidou

链接:https://www.jianshu.com/p/45c05a75f140

來源:简书

简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

Arch Linux 安装与配置全指南:从零构建定制化 Linux 系统 如果你是一个 Linux 用户,或者对操作系统技术趋势稍有留意,最近可能注意到一个现象:在各大技术社区和开发者讨论中,Arch Linux 的提及率正悄然攀升。它不再是那个只属于“极客”和“硬核玩家”的小众发行版,而是开始被更多追求效率、透明度和控制力的开发者、甚至部分进阶桌面用户所选择。 这背后反映的,可能不仅仅是又一个发行版的流行。更深层地看,它标志着用户对操作系统认知的转变——从“提供一个开箱即用的完美工具”,转向“提供一个可被完全理解和定制的平台”。Arch Linux 的“异军突起”,其核心价值不 阅读详情

相关推荐

PowerPC嵌入式Linux系统构建:从内核编译到开箱即用部署

嵌入式Linux系统是运行在非x86架构硬件上的精简操作系统,其核心在于将Linux内核与根文件系统适配到特定硬件平台。系统启动遵循Bootloader加载内核、内核初始化硬件并挂载根文件系统的流程,这一过程在PowerPC等RISC架构上尤为关键。其技术价值在于为资源受限的嵌入式设备提供稳定、可定制的操作系统基础,广泛应用于工业控制、网络设备和消费电子等领域。本文以经典的Freescale Sandpoint评估板为例,详细阐述了如何通过DINK32调试器进行内核烧录和系统集成,实现PowerPC硬件上“

weixin_30480075的博客 383

单用户模式下 /etc/fstab文件不能修改解决办法

1。进入Linux单用户模式      执行 root# mount -o remount,rw /      然后/etc/fstab就可以修改了 2。用光盘进入Linux修复模式 (光盘启动按F2 接着输入linux rescue回车进入)     然后修改fstab     注意进入修复模式后fstab路径为    vi /mnt/sysimage/etc/fstab

天涯路的专栏 3354

国产HDMI2.0芯片GSV2011怎么选?手把手教你用它设计音视频采集卡(附FPGA/海思对接指南)

本文详细解析国产HDMI2.0芯片GSV2011在音视频采集卡设计中的应用,涵盖芯片选型、硬件设计要点及与FPGA/海思平台的对接指南。GSV2011凭借4K@60Hz支持、音频提取嵌入功能和高集成度,成为音视频设备的核心选择,助力开发者快速实现高性能采集卡设计。

weixin_30181209的博客 302

Linux(CentOS7)解决-bash: /etc/profile: 权限不够

执行以下代码,出现以下问题

weixin_53522240的博客 4245

/etc/fstab 文件解释

/etc/fstab 文件解释 文件fstab包含了你的电脑上的存储设备及其文件系统的信息。它是决定一个硬盘(分区)被怎样使用或者说整合到整个系统中的唯一文件。 这个文件的全路径是/etc/fstab。它只是一个文本文件,你能够用你喜欢的编辑器打开它,但是必须是root用户才能编辑它。同时fsck、mount、umount的等命令都利用该程序。 具体来说:用fsta...

weixin_34417200的博客 540

/etc/fstab 只读无法修改解决办法

今天自己已开始做在虚拟机上做实验,增加了一个磁盘sdb1,而且也增加了自动挂载的功能/etc/fstab里增加了记录。后来自己把这个磁盘给删除了,再次重新启动服务器的时候,系统启动不了了。   系统提示: 按提示 输入 root的密码,进入以Repair filesystem 为提示符的界面。 vi /etc/fstab后 提示,只读,也就是没权限修改。   解决方案如下: 于是输入

Watson的专栏 2万+

kali linux挂载硬盘,Kali Linux 开机自动挂载硬盘-Go语言中文社区

在使用Kali Linux 的时候相信都会遇到那么两个问题:一个是空间不够用了或者想把东西放进Windows 系统下的其它盘 ,希望能直接在 Windows 系统下直接使用Linux 中写的文档 。二是每次需要用 Windows 下的硬盘的时候都要手动去挂载,而且每次挂载出来还不一定每次都能读写。今天,Arvin 小白教你如何开机自动挂载硬盘。Arvin 小白这里用到的方法是修改 /etc/fst...

weixin_28778005的博客 1556

linux权限管理详解,linux权限管理详解-Go语言中文社区

普通权限-rw-r–r--. 1 root root 0 Feb 14 23:33 test第1位标识文件类型:-:普通文件b:块设备c:字符设备d:目录l:符号链接s:套接字文件p:命名管道2~4位表示拥有者的权限5-8位表示所属组的权限9~11位表示其他人的权限权限的定义:r:可读,对文件来说即可以读取文件的具体内容(cat,more,less,vim),对目录而已即为可读取目录列表(ls)w...

weixin_39532019的博客 182

linux设置新硬盘权限,Linux 下挂载新硬盘以及更改为普通权限-Go语言中文社区

1、启动终端,以root用户登录2、查看硬盘信息:#fdisk -l3、进入磁盘,对磁盘进行分区:#fdisk /dev/sda(注意看你要挂载哪一个磁盘,我的是sda,有的是sdb)4、格式化分区:#mkfs.ext3 /dev/sda1 //注:将/dev/sda1格式化为ext4类型5、创建挂载到的/home/xuan/data目录:#mkdir /home/xuan/d...

weixin_28913137的博客 450

fstab

主要翻译自http://www.tuxfiles.org/linuxhelp/fstab.html,根据自己的理解做了修改和补充 可能玩Linux的朋友都知道fstab这个文件,如果要用好linux,熟悉linux的一些核心配置文件是必要的,而fstab则是其中之一。这个文件描述系统中各种文件系统的信息,应用程序读取这个文件,然后根据其内容进行自动挂载的工作。因此,我们需要理解其中的内容,了解它如

zhyjunFov的专栏 772

Linux】系统盘与数据盘分离实战:从分区规划到应用迁移的完整避坑指南

本文详细介绍了Linux系统中系统盘与数据盘分离的实战指南,从分区规划到应用迁移的全流程避坑方案。通过分离系统盘(/)和数据盘(/data),不仅提升数据安全性,还能优化系统性能和维护便捷性。文章涵盖单硬盘与多硬盘配置、数据迁移技巧、自动挂载设置及系统恢复等核心内容,适用于Ubuntu和CentOS等主流Linux发行版。

weixin_34268753的博客 314

Ubuntu 16.04 上用 Go 原生交叉编译多平台二进制

交叉编译是 Go 语言核心能力之一,指在一种操作系统和架构(如 Linux/amd64)上生成其他目标平台(如 Windows、macOS、ARM)可执行文件的技术。其原理基于 Go 编译器内置的静态链接机制与 ABI 抽象层,通过 GOOS 和 GOARCH 环境变量切换目标平台,无需外部工具链或容器依赖。该技术显著提升部署一致性与 CI/CD 效率,广泛应用于 CLI 工具分发、嵌入式代理开发及跨端服务构建。尤其在遗留系统(如 Ubuntu 16.04)受限于硬件兼容性、安全合规或工具链耦合等刚性约束时

weixin_30591551的博客 391

Linux权限提升漏洞Dirty Pipe原理与Traitor自动化利用深度解析

Linux内核漏洞是系统安全领域的重要议题,其原理往往与操作系统底层机制紧密相关。以Dirty Pipe(CVE-2022-0847)为例,该漏洞源于Linux内核在管道(Pipe)和页缓存(Page Cache)机制中,为优化性能而引入的“零拷贝”技术(splice系统调用)存在缺陷。攻击者可利用此漏洞,以低权限进程向任意可读文件(包括关键系统文件)写入数据,从而绕过权限检查实现权限提升。这类漏洞在渗透测试中常被自动化工具如Traitor整合利用,以构建高效的攻击链。理解其机制不仅有助于漏洞防御,也对深入

weixin_34293059的博客 320

Ubuntu 20.04系统迁移实战:从小容量NVMe硬盘升级至大容量硬盘的完整指南

系统迁移是Linux运维和系统管理中常见的高级操作,其核心原理在于完整复制文件系统、引导信息和分区表结构,确保新环境能无缝启动并保留所有配置与数据。这项技术对于服务器扩容、硬件升级和数据中心维护具有重要价值,尤其在开发环境迁移、老旧服务器替换等场景下应用广泛。通过对比dd、rsync等工具的实现方式,可以深入理解Linux启动流程与文件系统底层机制。本文以Ubuntu 20.04为例,详细解析了从小容量NVMe硬盘升级至大容量硬盘的完整操作流程,涵盖了分区规划、数据同步、引导修复等关键环节,并针对NVMe固

weixin_33834628的博客 415

Linux用户管理,权限设置,网络管理,磁盘管理,软件包管理,论坛搭建

本文详细介绍了Linux系统管理中的核心概念与实用操作,主要内容包括: 环境变量与命令管理 PATH变量配置与优先级 命令别名(alias)的创建与永久化 history命令历史记录配置 用户与权限管理 用户分类与配置文件解析 密码策略与账户锁定机制 用户/组创建、修改与删除 sudo权限分配实践 文件系统权限 权限表示与数字编码 特殊权限(SUID/SGID/ACL) umask值与默认权限控制 权限修改(chmod/chown) 网络配置 nmcli工具使用详解 静态/动态IP配置 主机名与域名解析 软

2301_80849456的博客 375

BIOS模式下ArchLinux安装与GRUB配置指南

计算机启动过程中,BIOS作为基础输入输出系统,负责初始化硬件并加载操作系统。传统BIOS通过读取磁盘MBR区域启动系统,与UEFI相比具有更好的老旧硬件兼容性。在Linux系统安装领域,ArchLinux以其高度可定制性著称,而GRUB作为经典启动引导器,在BIOS模式下需要特殊配置。本文以实际案例演示如何在传统BIOS设备上完成ArchLinux安装,重点解决MBR分区、GRUB安装等关键技术难点,适用于需要兼容旧硬件或实现多系统启动的场景。通过优化分区布局和GRUB参数,可显著提升系统启动速度与稳定性

weixin_30924239的博客 284

打造随身Linux系统:Ventoy持久化U盘安装与性能优化全攻略

Live USB系统是一种将完整操作系统置于便携存储设备的技术,其核心原理在于通过持久化存储机制,将用户数据、系统配置和应用状态保存在独立分区或文件中,实现跨硬件平台的个性化运行环境。这项技术的核心价值在于为开发者、运维人员和IT支持者提供了高度灵活、可定制的移动工作站,能够用于紧急系统修复、跨平台开发测试、安全审计和一致性环境部署等场景。借助Ventoy等现代工具,结合固态U盘硬件选型与内核参数调优,可以构建出兼顾性能与便携性的Linux To Go方案,有效解决如Deepin桌面兼容性和Intel 12

weixin_30693683的博客 303

ARM开发中Samba挂载导致SIGILL错误的诊断与本地化解决方案

在嵌入式开发和边缘计算场景中,内存对齐是CPU高效访问数据的基础要求,它要求数据地址符合特定字节倍数。ARM架构处理器对此尤为敏感,未对齐访问可能导致硬件异常。网络文件系统(如Samba/NFS)在传输文件时,其元数据处理和存储特性可能无意中破坏二进制文件的内存对齐布局,当内核通过mmap加载此类文件时,便可能引发SIGILL(非法指令)信号,导致程序崩溃。这一问题的技术价值在于揭示了跨架构开发中环境一致性的重要性,尤其在AI模型部署和嵌入式系统开发时。通过采用rsync实时同步或overlayfs联合挂载

dezhen7015的博客 467

DrissionPage无头模式破盾记:实战绕过CloudFlare 5秒验证

本文详细介绍了如何使用DrissionPage无头模式绕过CloudFlare 5秒盾验证,提升爬虫效率。通过关键参数配置、服务器环境问题处理及高级绕过技巧,如动态UA轮换和鼠标移动模拟,帮助开发者有效应对反爬机制。实战案例展示了如何结合最新Chrome UA和参数设置实现稳定数据采集。

weixin_29327525的博客 453

大数据分析与处理技术试题及答案.docx

大数据分析与处理技术试题及答案.docx

上一篇: linux查询环境变量文件,Linux下设置和查看环境变量
下一篇: 在当前目录下新建目录linux,linux当前目录新建文本文件
weixin_39673002
博客等级 码龄9年 27粉丝 176原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值