正文
linux命令遇到的问题 linux常见问题及解决方法
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
安装LINUX和XP遇到的问题
分类: 电脑/网络 操作系统/系统故障
问题描述:
我安装LINUX和XP遇到这样的问题,首先我装完XP。然后,在LINUX上分出三个区。hda2,(/) had3(boot) hda5(swap)三个分区。XP在hda1里面。但我装上之后安装都一切顺利但重起之后没有启动菜单。进入到GRUB提示符下了。是不是要在选择引导那步设置一下呀。谁知道帮着解决一下。
解析:
GRUB是一个多重开机管理工具,它可用来启动Linux、BSD、OS/2、BeOS与Windows95/98/NT等众多操作系统,GRUB是一个独立于操作系统之外的开机程序,并不像LILO是依靠Linux才能进行设定与维护,也提供了类似Bash的命令列模式,让使用者更方便地设定GRUB。
取得与安装GRUB:
make install
当make install完成后GRUB也已顺利安装完毕,并有三个指令文件也被安装至系统中:grub、grub-install与mbc。而GRUB的相关档案通常被安装到/usr/local/share/grub的目录下。
接下来先假设硬盘分割如下:
hda1:Windows98 (hd0,0)
hda2:Slackware Linux (hd0,1)
hdb1:Mandrake Linux (hd1,0)
注意的是GRUB认硬盘的方式跟Linux是不一样的,在Linux中第一颗IDE硬盘是hda(SCSI:sda)以此类推,而GRUB则将第一颗IDE 硬盘视为hd0(SCSI:sd0)以此类推;在Linux中第一颗IDE硬盘的第一个分割区是hda1(SCSI:sda1)以此类推,而GRUB将第一颗IDE硬盘的第一个分割区表示为hd0,0(SCSI:sd0,0)以此类推。
制作GRUB启动磁盘:
制作GRUB启动磁盘其实不难,首先需要两个必备档案,分别是stage1与stage2,可以在GRUB的安装目录下的i386-pc目录中找到这两个档案,以及一片已格式化的干净磁盘,然后依照下面的制作步骤就可制作出GRUB的启动磁盘:
cd /usr/local/share/grub/i386-pc/
dd if=stage1 of=/dev/fd0 bs=512 count=1
dd if=stage2 of=/dev/fd0 bs=512 seek=1
制作好了GRUB的开机磁盘之后,就可以试着使用GRUB来进行多重操作系统的开机启动。
利用GRUB开机磁盘启动系统:
接着重新启动系统并设定BIOS由磁盘开机,然后就可以看到grub的命令列正等待指令,这就是GRUB的命令列环境,表示GRUB已顺利地从启动磁盘加载并正常运作当中了。现在假设要启动上述的Slackware Linux的话,在GRUB提示符号下键入如下的指令,如此就会进入Slackware Linux系统:
grub root (hd0,1)
grub kernel /boot/vmlinuz root=/dev/hda2 ro
grub boot
root 指令会mount后面参数的硬盘分割区位置。当mount完成后kernel指令会加载其参数的系统核心,Linux的核心通常是在/boot目录下名为 vmlinuz的档案。最后的两个参数都是要传给刚加载的核心,root=/dev/hda2是告诉核心根目录的位置是在/dev/hda2,并要求挂载成只读(ro)。
最后执行boot指令以进行Slackware系统的开机启动。同理,位在hdb1上的Mandrake Linux也可以用类似的方式启动:
grub root (hd1,0)
grub kernel /boot/vmlinuz root=/dev/hdb1 ro
grub boot
现在root指令改mount (hd1,0)的分割区,此分割区就是Mandrake Linux的根目录位置。然后kernel指令加载Mandrake的核心文件,告诉核心Mandrake系统的根目录是在/dev/hdb1,并要求挂载成只读。最后以boot指令进行系统的启动。
以上的方式都可以顺利地启动Linux系统,但是对Windows系统可是不管用的,要启动在hda1上的Windows98的话,则要换些指令才行得通,请在GRUB命令列中依序键入下列指令就可以进入Windows98:
grub rootnoverify (hd0,0)
grub chainloader +1
grub makeactive
grub boot
以rootnoverity 指令让GRUB不要mount (hd0,0)的分割区,只要知道待会是要启动此分割区上的操作系统。chainloader +1的意思是指定此分割区上的第一个扇区来做启动。makeactive指令是要在此分割区上设定active的旗标,只要是Windows的操作系统都是要这么做的。最后以boor指令进行开机。
使用硬盘上的GRUB开机启动:
GRUB的开机磁盘固然方便好用,但制作GRUB开机磁盘的目的只在于系统救援之用,要能确实享用GRUB的强大功能,最好是可以用硬盘上的GRUB来进行开机,就像LILO一样安装到硬盘的MBR上。
首先要在系统上建立GRUB专用的开机目录/boot/grub,如同制作GRUB的开机磁盘一样须要stage1文件和stage2档,所以请把GRUB 安装目录下的i386-pc目录中的stage1文件和stage2档copy到刚刚建立的/boot/grub目录底下:
mkdir /boot/grub
cp /usr/local/share/grub/i386-pc/stage* /boot/grub
完成之后键入指令GRUB指令进入GRUB命令列环境,在GRUB命令列环境里键入如下的指令:
grub root (hd0,2)
grub setup (hd0)
grub quit
如此即可完成GRUB在/boot/grub中的开机设定,先用root指令mount目录/boot/grub所在的位置,其中的(hd0,2)就是指上面假设的Slackware系统,也就是说/boot/grub目录是在Slackware系统中所建立的。所若是要改成由Windows98来放置 GRUB的stage档的话,就要在Windows98的系统上建立/boot/grub的目录,并将stage1档和stage2档存放在 Windows98上的\boot\grub目录里,而root指令的参数也要改为Windows98所在的分割区,也就是上面假设的(hd0,0)。第二个指令setup是指要将GRUB安装在哪个位置来开机启动,如果是要安装到硬盘的MBR上的话只须加上硬盘的位置如(hd0),若是要安装到硬盘第一个分割区上的第一个扇区的话就要加上分割区的位置如(hd0,0)。
除非是有特殊的情况,不然最好是装在硬盘的分割区上较安全。最后使用quit指令离开GRUB命令列环境。
使用选项清单:
现在虽然可以用GRUB来做多重开机的管理,但每次都要输入繁杂的指令也不方便,因此GRUB也提供了选项清单的方式,让每次开机时只须按上下键选择要开机的系统再按下Enter键即可进行开机而不必再输入任何的指令。GRUB在开机时会先寻找/boot/grub目录下的menu.lst档,找到的话 GRUB就会依照menu.lst文件的内容显示一个选项清单的图形接口,让使用者选择要开机的操作系统。
首先在/boot/grub目录下建立一个新档名为menu.lst,底下是menu.lst文件的设定范例:
#/boot/grub/menu.lst
timeout 30
default 0 #Default Slackware Linux
fallback 1 #Windows98
fallback 2 #Mandrake Linux
color light-green/brown blink-red/blue
# For booting Slackware Linux
title Slackware
root (hd0,1)
kernel /boot/vmlinuz root=/dev/hda2 ro
#For booting Windows
title Windows98
rootnoverify (hd0,0)
chainloader +1
makeactive
#For booting Mandrake Linux
title Mandrake
root (hd1,1)
kernel /boot/vmlinuz root=/dev/hdb1 ro
上面menu.lst文件的范例是针对之前所假设的硬盘分割区上配置的操作系统而设定的。menu.lst是以#符号当作注解的开头,GRUB会忽略所有以 #符号启始的注解行。timeout指令是指GRUB启动之后的等待时间,以秒为单位,所以上面的范例就是等待30秒的意思。default指令就是当 GRUB启动之后等待的时间超过指令timeout所设定的时间的话,就会指令default后面参数所指定的系统,参数0代表menu.lst文件中第一个被设定的操作系统,以上面的范例而言就是指Slackware Linux,因为它是最先被设定的,如果参数改为1的话就是启动Windows98,以此类推。fallback指令是指当GRUB启动指令 default所指定的操作系统失败的话,便会启动指令fallback所指定的操作系统,以上面的范例而言,当Slackware启动失败的话GRUB 就会启动fallback所指定的便是Windows98。指令color可以设定GRUB选项清单的前景/背景的颜色,有关GRUB可以指定的颜色可以查看GRUB的info文件。接下来的指令就是设定操作系统,指令title可以设定该操作系统的标题,而其下的设定的指令?銋窵N是原本在GRUB命令列中所键入的指令是一样的,差别是不用再加上boot指令。
设定好menu.lst文件后,将此设定文件存在/boot/grub目录底下即可,然后重新开机便会看到GRUB漂亮的选项清单,{在就可以试着启动不同的操作系统了。
备注:兄弟看了以上的介绍你应该清楚了吧。
其实很简单就是在开机到grub画面的时候输入命令:
grub root (hd0,2)
grub kernel /boot/vmlinuz root=/dev/hda2
grub boot(详细盘符还是要仔细看你的磁盘设置)
LINUX系统有哪些危险命令
这9个“非常危险”的Linux命令一定要记住!
1、rm-rf命令
rm-rf命令是删除文件夹及其内容最快的一种方式,仅仅一丁点的敲错或者无知都可能导致不可恢复的系统崩坏。
rm命令在Linux下通常用来删除文件
rm-f命令递归的删除文件夹,甚至是空的文件夹
rm-f命令能不经过询问直接删除只读文件
rm-rf/:强制删除根目录下所有东西
rm-rf/*:强制删除当前目录的所有文件
rm-rf.:强制删除当前文件夹及其子文件
温馨提示:当你要执行rm -rf命令时,一定要留心,可以在“.bashrc”文件对“rm”命令创建rm
-i的别名,来预防用‘rm’命令删除文件时的事故。
2、:(){:|:};:命令
这就是一个fork炸弹的实例。具体操作是通过定义一个名为':'的函数,它会调用自己两次,一次在前台另一次运行在后台。它会反复的执行下去直到系统崩溃。
3、命令 /dev/sda
上列命令会将某个'命令'的输出写到块设备/dev/sda中。该操作会将在块设备中的所有数据块替换为命令写入的原始数据,从而导致整个块设备的数据丢失。
4、mv文件夹/dev/null
这个命令会移动某个'文件夹'到/dev/null。在Linux中/dev/null或null设备是一个特殊的文件,所有写入它的数据都会被清除,然后返回写操作成功。
5、wget -O- | sh
上面这个命令会从一个恶意源下载一个脚本并执行。Wget命令会下载这个脚本,而sh会执行下载下来的脚本。
温馨提示:你应该时刻注意你下载包或者脚本的源。只能使用那些从可信任的源中下载脚本/程序。
6、mkfs.ext3 /dev/sda
上列命令会格式化设备'sda',你无疑知道在执行上列命令后你的块设备会被格式化,崭新的。没有任何数据,直接让你的系统达到不可恢复的阶段。
7、 file
上面命令常用来清空文件内容,如果用上列执行时输入错误或无知的输入类似“ xt.conf” 的命令会覆盖配置文件或其他任何的系统配置文件。
8、^foo^bar
这个命令用来编辑先前运行的命令而无需要打整个命令。但当用foobar命令时如果你没有彻底检查改变原始命令的风险,这可能导致真正的麻烦。
9、dd if=/dev/random of=/dev/sda
上面这个命令会向块设备sda写入随机的垃圾文件从而擦出数据。当然,你的系统可能陷入混乱和不可恢复的状态。
linux 所有命令不能使用的问题,估计环境变量没加对
命令不能用linux命令遇到的问题了主要是$PATH变量错误的关系。
方法一:
如果只是在shell下
export
命令改的名字的话
直接restart。
方法二:
更改配置文件linux命令遇到的问题,可以
/bin/vi
配置文件就行linux命令遇到的问题了linux命令遇到的问题,也就是要通过指定命令所在路径来运行命令修复配置就行linux命令遇到的问题了。
一般可能是在更改$PATH时命令错误搞成的的这种情况,
比如想增加/b
进path
export
PATH=$PATH:/b
OR
export
PATH=/b:$PATH
单独
export
PATH=/b
会使你其他PATH全部消失
只剩下
/b
$PATH:/b
和
export
PATH=/b:$PATH
区别是搜索顺序不同。
问几个关于Linux命令的问题
1、你想干啥linux命令遇到的问题?du 和 cat 都是直接输出的。如果要中间暂停方便阅读linux命令遇到的问题,可以用管道符把输出交给 less 或者 more 。也可以直接发给 tail 或者 head 、grep 什么的来截取你需要的部分。如果临时暂停,可以用键盘的 scroll lock 或者是 prt scr 按键(忘了是哪个)不过这个貌似仅对字符界面有效。
. (一个点)才是当前目录,/ 是目录层分隔符,一般规矩来说,目录结尾要加 / 来表示这是目录(很多情况不是必须的,程序会自己识别)。所以 ./ 表示当前目录,dir/ 表示 dir 目录,直接 dir 既可以表示的是目录也可以是文件。附加说句两个点是上级目录。
第三个不说了,请好好学习吧……确实是 find ,你首先要学习的,应该是学会查看帮助信息。也就是 find --help 和 man find 列出来的内容。
关于linux shell执行文件找不到的问题
在linux下有时明明就看到文件在当前目录下,执行权限也没问题,你一执行它就提示no such file or directory!真是坑爹啊。
造成这个问题最大的可能性就是该文件引用的动态链接库不存在,比如在64位系统中执行一些32位的老程序,经常会出现找不到对应32库的问题,多见于gcc之类,这在很多新装的64位linux中都会出现(这一点linux不如windows),偏偏提示还不直接点。解决办法当然是补齐所需的库,比如安装386的gcc。
因此下次遇到这种问题可以先用file命令看下当前文件类型及其引用的动态库。
linux命令出现卡机,很多命令输入后不反应
这种问题出现的可能性很多,比如温度过高、内存溢出、cpu等待过多、硬件链接出现异常、磁盘访问有问题等等都可能出现,需要具体问题具体分析。你可以开启linux的报告系统,这样在发生问题时可以输出一个问题诊断报告,进而进行原因分析,否则单单只是现象描述的话很难定位。
你想多了,其实只是因为你的命令输入不够完整,linux在等待你补充 ;-) 你何不试试下面这样呢: grep "root" /etc/group 请先从自身查找原因,多用 man 看看命令使用帮助。《Linux就该这么学》帮助你更好的全方面了解linux,希望能帮到你。
linux命令遇到的问题的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux常见问题及解决方法、linux命令遇到的问题的信息别忘了在本站进行查找喔。