虚拟机:Oracle VM VirtualBox 4.3.10

系统:Ubuntu12.04 LTS

因项目需要,在虚拟机系统中搭建一个嵌入式交叉编译开发环境,当我部署交叉编译工具链的时候,修改了 /etc/profile文件,在脚本末尾添加如下语句:

PATH+=“/opt/hisi-linux-nptl/arm-hisiv100-linux/target/bin/”

echo PATH

终端执行: source /etc/profile命令

重启系统后出现以下错误:

 

为什么虚拟机能启动但登录不了MySQL_Linux图形终端与字符终端间切换

向网友求助,得到如下解决办法:

先退出虚拟机,选中VirtualBox的桌面快捷方式上单击右键,选择“属性”,在弹出的VM VirtualBox属性对话框中选择“兼容性”选项,勾选“以兼容模式运行这个程序”,在下面的下拉框中选择“Windows Server 2008 (Service Pack 1)”,在下方的特权等级项中勾选“以管理员身份运行此程序”,点击“确定”,即可重新打开虚拟机了。

看到虚拟机开始启动了,心里正准备高兴来着,问题又来了:

进入ubuntu系统后,输入登录密码之后又返回到登录界面,如此反复循环!!!

我了个去,再次重陷尴尬境地。无奈之下只好一步一步来挽救我的虚拟机了,好在Linux可以自由地切换用户界面。

再次重启虚拟机系统,同时按住shift 进入到Grub界面; 

然后选择  recovery 启动;

进入recovery启动的菜单后选择 root 回车,以root权限访问磁盘;

因为我的ubuntu装在了虚拟机上是个镜像文件,所以即使root进去了还是没有写权限;

此处看到有网友说执行 mount -o rw,remount / 就可以获取读写权限了,但是我执行了这条命令后依旧没有写的权限。但是可以进入系统已经很不错了,可以到相关目录下查看系统日志,它会告诉你有关的错误信息,对排除故障大有帮助!!! 

后面去自己的/home/<username> 目录(我的是/home/zqjun/)查看.xsession-errors

原来是我在.profile 文件里添加了有语法错误的代码,系统无法识别导致无法初始化用户界面。

找到原因后,就需要修正/etc/profile文件中的语法错误了。由于我此次登录是没有写权限的,而系统是已经启动,只是无法初始化配置环境来启动图形用户界面,但是应该可以切换到纯字符终端界面。


Linux系统中, 图形终端切换到字符文本终端快捷键:CTRL+ ALT+F1~F6
  字符文本界面下6个终端间切换快捷键:ALT+ F1~F6
  字符文本界面切换到图形界面快捷键: CTRL+ALT+F7
  也可以通过命令方式切换到另一界面:chvt n(n=1,2.......n是终端的名字)如果希望知道当前终端的名字,可以使用命令fgconsole。

于是通过快捷键ctrl+alt+F1从图形终端切换到字符终端,以root用户登录系统,进入到ubuntu系统。然后用vi或gedit编辑器打开/etc/profile文件,修改PATH环境变量如下:

PATH=“/opt/hisi-linux-nptl/arm-hisiv100-linux/target/bin/:$PATH”

echo PATH

保存退出后,终端输入reboot命令让系统重新启动,发现问题得以解决!

得到一个教训,以后修改系统配置文件的时候千万不可大意,否则造成系统瘫痪就后悔莫及了。另外,得花时间回头巩固一下Linux系统知识和Shell语法了,慢慢地遗忘了不少啊。。。。。。