您的位置:首页 > 其它

还是摘抄,不过我写入了一些改变而已:ubuntu 9.04 优化

2009-10-07 13:23 411 查看
1.构建Java环境

在ubuntu下配置java可以说既简单又不简单。熟悉的人都知道,ubuntu下有默认的jdk,也就是open-jdk。但是很多人都不喜欢用。卸载执行:

代码:

sudo apt-get autoremove openjdk-6*

选择默认 java

sudo update-alternatives --config java

2、安装JDK

下载JDK解压安装:

(1)从Java官方网站: http://java.sun.com/javase/downloads/index.jsp , 直接点击Download下载你要的版本, 当前最新版本是JDK 6 Update 14, 也可以进入 Previous Releases 页面下载JDK5等以前的低版本。

(2)下载需要填写你的信息,注意需要输入正确的Email,收到邮件后才能打开下载连接。然后选择环境和语言并接受License协议,Continue。

(3)下载jdk-6u16-linux-i586-rpm.bin 或 jdk-6u16-linux-i586.bin ,建议下载第二个连接。

(4)下载后将文件放置到你想要安装的目录下(我安装的是:/home/lujisheng/wwwroot),使用终端运行,然后不断敲击回车,直到出现yes/no选项,按y在当前目录下安装,最后显示Done完成。

把下载的文件拷贝到你要安装的目录下(xxxx为你的用户):

sudo cp /home/xxxx/desktop/jdk-6u16-linux-i586.bin /home/lujisheng/wwwroot

进入当前目录:

cd /home/lujisheng/wwwroot

修改执行权限:

sudo chmod u+x ./jdk-6u16-linux-i586.bin

切换用户:

su root

password:

执行命令安装:

./jdk-6u16-linux-i586.bin

配置环境变量:

(1)JAVA_HOME环境变量。它指向jdk的安装目录,Eclipse/Tomcat等软件就是通过搜索JAVA_HOME变量来使用安装好的jdk。

(2)JRE_HOME环境变量。它指向jre的安装目录。JVM运行时需要搜索JRE_HOME变量来使用安装好的jre环境。

(3)PATH环境变量。bin目录中包含经常要用到的Java可执行文件,如javac/java/javadoc,设置好PATH变量,就可以在任何目录下执行这些工具。

(4)CLASSPATH环境变量。指定类搜索路径,JVM就是通过CLASSPTH来寻找类。我们需要把jdk安装目录下的lib子目录中的dt.jar和tools.jar设置到CLASSPATH中,当前目录“.”也必须加入到该变量中。

(5)配置环境变量,修改/etc/profile

在终端运行:sudo gedit /etc/profile,在umask 022之前加上

export JAVA_HOME=/home/lujisheng/wwwroot/jdk1.6.0_16

export JRE_HOME=/home/lujisheng/wwwroot/jdk1.6.0_16/jre

export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib

要使配置生效,可以执行:

source /etc/profile

(6)在终端下显示设置的变量

需在shell终端执行下列命令即可:

echo $JAVA_HOME

echo $JRE_HOME

echo $PATH

echo $CLASSPATH

3.测试jdk

(1)在终端输入java -version,如果能看到版本信息就说明安装成功了。

java version "1.6.0_18"

(如果没有显示正确的版本信息,说明你还没有安装成功,请重新检查之前的安装步骤)

(2)用文本编辑器新建一个Test.java文件,在其中输入以下代码并保存:

public class test {

public static void main(String args[]) {

System.out.println("Jdk test !");

}

}

编译:在shell终端执行命令 javac test.java

运行:在shell终端执行命令 java test

当shell下出现"Jdk test!"字样则jdk运行正常。

2、安装tomcat6

(1)从tomcat官方网站http://tomcat.apache.org/download-60.cgi 下载bin版本tar.gz

把下载的文件拷贝到你要安装的目录下(xxxx为你的用户):

sudo cp /home/xxxx/desktop/apache-tomcat-6.0.20.tar.gz /home/lujisheng/wwwroot

把下载的文件解压到你要安装的目录下:

cd /home/lujisheng/wwwroot

sudo tar zxvf ./apache-tomcat-6.0.20.tar.gz

(2)设置CATALINA_HOME环境变量,修改/etc/profile

在终端运行:sudo gedit /etc/profile,添加:

   export CATALINA_HOME=/home/lujisheng/wwwroot/apache-tomcat-6.0.20

(3)运行tomcat,防止一般用户没有读写文件的权限,先切换到root用户再运行:

su root

password

cd /home/lujisheng/wwwroot/apache-tomcat-6.0.20/bin/

./catalina.sh run

最后一行显示下列信息,表示启动成功:

Server startup in 1591 ms

如果显示下述信息,表示环境变量设置还有错误:

Neither the JAVA_HOME nor the JRE_HOME environment variable is defined

At least one of these environment variable is needed to run this program

关闭tomcat

./catalina.sh stop

(4)确认tomcat正常运行

打开browser,输入http://localhost:8080 ,看到tomcat页面就算正常了。如果修改8080端口,可以编辑安装目录下的./conf/server.xml文件。

(5)当然这个时候你还不能对这个tomcat进行管理,还需要对用户权限进行设置。

代码:

sudo vim /home/lujisheng/wwwroot/apache-tomcat-6.0.20/conf/tomcat-users.xml

将<tomcat-users>注释部分去掉,加入以下内容

代码:

<role rolename="manager"/>

<role rolename="admin"/>

<user username="admin" password="admin" roles="admin,manager"/>

关键是把注释去掉,可恨我当时没有看到这一点,死活进不去,折腾了几天。

(6)使tomcat6能开机运行

为了操作方便,在/usr/local 下建立软链接,名字是tomcat6

cd /usr/local

sudo ln -s /home/lujisheng/wwwroot/apache-tomcat-6.0.20 tomcat6

设置tomcat以独立的用户运行(防止以root运行,权限太大)

sudo useradd -d /usr/local/tomcat6 -s /usr/sbin/nologin tomcat

上边的这个命令是添加一个系统用户tomcat,并且设置为不可登录系统。

设置用户tomcat 对tomcat6的访问权限

sudo chown -R tomcat:tomcat /usr/local/tomcat6

sudo chown -R tomcat:tomcat /home/lujisheng/wwwroot/apache-tomcat-6.0.20

安装jsvc,前提需要系统安装了gcc(系统一般默认安装),autoconf,libc6-dev

sudo apt-get install gcc autoconf libc6-dev

解压jsvc.tar.g

cd /usr/local/tomcat6/bin

sudo tar zxvf jsvc.tar.gz

准备编译配置文件

cd jsvc-src

sudo sh support/buildconf.sh

如果成功,命令终端会打出:

support/buildconf.sh: configure script generated successfully

为configure添加执行权限

sudo chmod 755 configure

编译

sudo ./configure --with-java=/home/lujisheng/wwwroot/jdk1.6.0_16

sudo make

如果没有出现错误,jsvc就安装成功了。

设置启动脚本

拷贝jsvc带的tomcat5.sh 脚本拷贝到 /etc/init.d/ 下,并改名为tomcat

sudo cp /usr/local/tomcat6/bin/jsvc-src/native/Tomcat5.sh /etc/init.d/tomcat

修改/etc/init.d/tomcat文件

sudo gedit /etc/init.d/tomcat

文件中要修改的内容如下:

JAVA_HOME="/home/lujisheng/wwwroot/jdk1.6.0_16"

CATALINA_HOME="/home/lujisheng/wwwroot/apache-tomcat-6.0.20"

DAEMON_HOME="/home/lujisheng/wwwroot/apache-tomcat-6.0.20/bin"

TOMCAT_USER="tomcat"

CATALINA_BASE="/home/lujisheng/wwwroot/apache-tomcat-6.0.20"

CATALINA_OPTS="-Djava.library.path=/home/jfclere/jakarta-tomcat-connectors/jni/native/.libs"

#注释掉这句

#添加下边这三句

CATALINA_OPTS=

$DAEMON_HOME/jsvc-src/jsvc / #设置正确的jsvc程序的位置

#

# Start Tomcat

#

$DAEMON_HOME/jsvc-src/jsvc /

#

# Stop Tomcat

#

$DAEMON_HOME/jsvc-src/jsvc /

***************************************************************************************

干脆把这个/etc/init.d/tomcat的内容贴在下面,两道星线中的就是:

***************************************************************************************

#!/bin/sh

##############################################################################

#

# Copyright 2004 The Apache Software Foundation.

#

# Licensed under the Apache License, Version 2.0 (the "License");

# you may not use this file except in compliance with the License.

# You may obtain a copy of the License at

#

# http://www.apache.org/licenses/LICENSE-2.0
#

# Unless required by applicable law or agreed to in writing, software

# distributed under the License is distributed on an "AS IS" BASIS,

# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

# See the License for the specific language governing permissions and

# limitations under the License.

##############################################################################

#

# Small shell script to show how to start/stop Tomcat using jsvc

# If you want to have Tomcat running on port 80 please modify the server.xml

# file:

#

# <!-- Define a non-SSL HTTP/1.1 Connector on port 80 -->

# <Connector className="org.apache.catalina.connector.http.HttpConnector"

# port="80" minProcessors="5" maxProcessors="75"

# enableLookups="true" redirectPort="8443"

# acceptCount="10" debug="0" connectionTimeout="60000"/>

#

# That is for Tomcat-5.0.x (Apache Tomcat/5.0)

#

# Adapt the following lines to your configuration

JAVA_HOME="/home/lujisheng/wwwroot/jdk1.6.0_16"

CATALINA_HOME="/home/lujisheng/wwwroot/apache-tomcat-6.0.20"

DAEMON_HOME="/home/lujisheng/wwwroot/apache-tomcat-6.0.20/bin"

TOMCAT_USER="tomcat"

# for multi instances adapt those lines.

TMP_DIR=/var/tmp

PID_FILE=/var/run/jsvc.pid

CATALINA_BASE="/home/lujisheng/wwwroot/apache-tomcat-6.0.20"

# CATALINA_OPTS="-Djava.library.path=/home/jfclere/jakarta-tomcat-connectors/jni/native/.libs"

CATALINA_OPTS=

$DAEMON_HOME/jsvc-src/jsvc / #设置正确的jsvc程序的位置

CLASSPATH=/

$JAVA_HOME/lib/tools.jar:/

$CATALINA_HOME/bin/commons-daemon.jar:/

$CATALINA_HOME/bin/bootstrap.jar

case "$1" in

start)

#

# Start Tomcat

#

$DAEMON_HOME/jsvc-src/jsvc /

-user $TOMCAT_USER /

-home $JAVA_HOME /

-Dcatalina.home=$CATALINA_HOME /

-Dcatalina.base=$CATALINA_BASE /

-Djava.io.tmpdir=$TMP_DIR /

-wait 10 /

-pidfile $PID_FILE /

-outfile $CATALINA_HOME/logs/catalina.out /

-errfile '&1' /

$CATALINA_OPTS /

-cp $CLASSPATH /

org.apache.catalina.startup.Bootstrap

#

# To get a verbose JVM

#-verbose /

# To get a debug of jsvc.

#-debug /

exit $?

;;

stop)

#

# Stop Tomcat

#

$DAEMON_HOME/jsvc-src/jsvc /

-stop /

-pidfile $PID_FILE /

org.apache.catalina.startup.Bootstrap

exit $?

;;

*)

echo "Usage tomcat.sh start/stop"

exit 1;;

esac

***************************************************************************************

设置 /etc/init.d/tomcat的可执行权限

sudo chmod 755 /etc/init.d/tomcat

在/etc/rc2.d/下设置一个/etc/init.d/tomcat 的软链接

cd /etc/rc2.d/

sudo ln -s /etc/init.d/tomcat S16tomcat

注:rc2.d目录下的文件要以S后就数字开头,表示启动的顺序。而rc2.d中的2,表示这个目录下文件在开机时的运行级别(runlevel)为2

重新启动系统

sudo reboot –n

启动后,就可以在FF中直接输入http://localhost:8080 ,如果看到首页,即表示安装成功

4.下载并安装配置eclipse

(1)从eclipse官方网站http://www.eclipse.org/downloads/ 下载最新的Galileo发行版本,然后解压

sudo tar zxvf ./eclipse-java-galileo-linux-gtk.tar.gz

(2)解压后系统默认安装到你的主文件夹下eclipse目录下,在安装目录下双击eclipse图标即可运行。第一次运行系统提示选择工作目录。

5.为了防止字符集与系统不一致导致的输入字符错误,我们需要设定字符集。

代码:

sudo gedit /home/lujisheng/wwwroot/apache-tomcat-6.0.20/conf/server.xml

找到<Connector /> 加入以下属性,统一控制输入字符集

代码:

URIEncoding="UTF-8"

6.安装mysql到最后会提示你输入root帐号的密码,这个root帐号是mysql的root帐号。

代码:

mysql -u root -p

提示输入密码,输入刚才安装MySQL时的密码即可。

以上步骤,完成了mysql的安装,但是这样完全不能满足我们的使用,主要的问题在于以下两点:

(1).字符集问题。

(2).远程访问问题。

我们依次解决此类问题。

代码:

sudo gedit /etc/mysql/my.cnf

找到[mysqld] 在末尾加上以下内容:

代码:

#Set the default character set.

default-character-set=UTF8

找到[client] 在末尾加上以下内容:

代码:

default-character-set=UTF8

重启MySQL

sudo /etc/init.d/mysql restart

登录你的MySQL,执行以下语句。

代码:

mysql> show variables like "%colla%";

+----------------------+-----------------+

| Variable_name | Value |

+----------------------+-----------------+

| collation_connection | utf8_general_ci |

| collation_database | utf8_general_ci |

| collation_server | utf8_general_ci |

+----------------------+-----------------+

3 rows in set (0.00 sec)

mysql> show variables like "%char%";

+--------------------------+----------------------------+

| Variable_name | Value |

+--------------------------+----------------------------+

| character_set_client | utf8 |

| character_set_connection | utf8 |

| character_set_database | utf8 |

| character_set_filesystem | binary |

| character_set_results | utf8 |

| character_set_server | utf8 |

| character_set_system | utf8 |

| character_sets_dir | /usr/share/mysql/charsets/ |

+--------------------------+----------------------------+

8 rows in set (0.00 sec)

MySql 默认的字符集是 latin1,如果你能看到上述的结果说明字符集已经统一到UTF8了。

接着我们处理,远程访问问题。

7.构建简单JSP工程

首先,需要构建目录结构,这里我们把项目定为lamj。

lamj/

|

|----index.jsp

|----WEB-INF/

|___|----web.xml

|___|----classes/

|___|----lib/

|___|___|----mysql-connector-java-5.1.6-bin.jar

附上web.xml

代码:

<?xml version="1.0" encoding="UTF-8"?>

<web-app

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns="http://java.sun.com/xml/ns/javaee"

xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID"

version="2.5">

<display-name>lamj</display-name>

<welcome-file-list>

<welcome-file>index.html</welcome-file>

<welcome-file>index.htm</welcome-file>

<welcome-file>index.jsp</welcome-file>

<welcome-file>default.html</welcome-file>

<welcome-file>default.htm</welcome-file>

<welcome-file>default.jsp</welcome-file>

</welcome-file-list>

</web-app>

附上index.jsp页面代码

代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<%@ page import="java.sql.*"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>MySQL测试</title>

</head>

<body>

<%

//驱动程序名

String driverName = "com.mysql.jdbc.Driver";

//数据库用户名

String username = "root";

//密码

String password = "S3CRET";

//数据库名

String databaseName = "test";

//表名

String tableName = "user";

String server = "localhost";

String port = "3306";

//联结字符串

String url = "jdbc:mysql://" + server + ":" + port + "/"

+ databaseName + "?useUnicode=true&characterEncoding=UTF-8";

Class.forName(driverName).newInstance();

Connection connection = DriverManager.getConnection(url, username,

password);

Statement statement = connection.createStatement();

String sql = "SELECT * FROM " + tableName;

ResultSet rs = statement.executeQuery(sql);

%>

<table border="1">

<caption>用户数据表数据</caption>

<tr>

<th>ID</th>

<th>username</th>

<th>password</th>

</tr>

<%

while (rs.next()) {

out.print("<tr><td>");

out.print(rs.getString(1));

out.print("</td><td>");

out.print(rs.getString(2));

out.print("</td><td>");

out.print(rs.getString(3));

out.print("</td></tr>");

}

%>

</table>

<%

rs.close();

statement.close();

connection.close();

%>

</body>

</html>

将这个目录放到 /var/lib/tomcat6/webapps/ 下

其次,我们构建基础数据。

登录mysql,执行如下脚本:

代码:

CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET utf8 */;

USE `test`;

DROP TABLE IF EXISTS `test`.`user`;

CREATE TABLE `test`.`user` (

`id` int(10) unsigned NOT NULL AUTO_INCREMENT,

`username` varchar(45) NOT NULL,

`password` varchar(45) NOT NULL,

PRIMARY KEY (`id`)

) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

INSERT INTO user(username,password) VALUES('张三','123456');

INSERT INTO user(username,password) VALUES('Zlex','123456');

SELECT * FROM user;

代码:

+----+----------+----------+

| id | username | password |

+----+----------+----------+

| 1 | 张三 | 123456 |

| 2 | Zlex | 123456 |

+----+----------+----------+

2 rows in set (0.00 sec)

如果从控制台检索出来的数据能正常显示中文,就说明数据库部分ok了!

最后,访问http://localhost:8080/lamj

这时候你会看到页面上显示我们刚才输入的数据,并且正常显示中文。

用php对数据库进行操作时,如果你的PHP文件是UTF-8的但结果却出现了乱码,这里可以在

$link=mysql_connect(localhost,root,"S3CRET");

mysql_select_db(test,$link);

两句之间,加上一句

mysql_query("set names utf8");

变成这样:

$link=mysql_connect(localhost,root,"S3CRET");

mysql_query("set names utf8");

mysql_select_db(test,$link);

就一切都太平了。

Plone安装指南

出自Ubuntu中文

1、安装下列依赖包:gcc, g++, gnu make, tar, bzip2

sudo apt-get install g++

试过sudo apt-get install zlib,似乎Ubuntu官方源中不含zlib软件包,只有到zlib官方网站:
http://www.zlib.net
上下载源码来安装zlib软件包。

目前最新版本zlib是zlib1.2.3,安装开始;

$wget http://www.zlib.net/zlib-1.2.3.tar.gz
$tar -xvzf zlib-1.2.3.tar.gz

$cd zlib-1.2.3.tar.gz

$./configure

$make

$sudo make install

[编辑] 2、安装plone:

从网站http://plone.org/products/plone 下载Plone的Linux安装包(.tar.gz)解压至/home/lujisheng/wwwroot

cd /home/lujisheng/wwwroot

tar zxvf Plone-3.3-UnifiedInstaller.tar.gz

cd Plone-3.3-UnifiedInstaller

sudo ./install.sh --password=S3CRET --user=lujisheng standalone

安装完了会显示管理员密码和怎么启动(信息被保存在/usr/local/Plone/zinstance/adminPassword.txt中)。

默认的端口是8080,可在配置文件/usr/local/Plone/zinstance/etc/zope.conf中修改这个端口。

默认的实例是/usr/local/Plone/zinstance。

已经创建了两个默认系统用户和组plone,zope。

启动:

sudo /usr/local/Plone/zinstance/bin/plonectl start

(下面二行好像不用做也能打开Plone,第一行是停掉apache2服务,停了后Plone照常工作,估计是zope起了作用)

sudo /etc/init.d/apache2ctl stop

sudo sh /home/lujisheng/wwwroot/apache-tomcat-6.0.20/bin/shutdown.sh

关闭:

sudo /usr/local/Plone/zinstance/bin/plonectl stop

如果sudo /etc/init.d/zope3 start 报错,可以sudo gedit /etc/init.d/zope3,把-a -d /usr/local/Plone/Zope-2.10.9-final-py2.4/instance加到路径里去。

http:/localhost:8080 显示一个欢迎页面,http://localhost:8080/Plone 进入一个测试plone页面,http://localhost:8080/manage 进入管理界面。

如果tomcat在运行,将不能显示plot的页面,必须先把tomcat关掉。或者是修改sudo gedit /usr/local/Plone/zinstance/parts/instance/etc/zope.conf

把里面的端口改为8088,再启动plone就没有问题了。

cd /etc/rc2.d

sudo ln -s /usr/local/Plone/zinstance/bin/plonectl S18plonectl

[编辑]

3、中文化:

默认安装后进入http://localhost:8080/Plone 显示的语言是英语,为了以中文显示,需要稍微设置一下:以admin登入,密码查看文件~/Plone/vsuan/adminPassword.txt。

1)点击右上角的“Site Setup”,然后点击屏幕中部的language进入language settings界面,够选“Show country-specific language variants”,然后在语言的下拉框中选择Chinese(China),最后点击save即可,刷新一下页面,这时全是中文的了。

2)部分菜单仍是英语(比如news, users,events),可以这样做:点击左上角的“首页”-->"文件夹内容“,然后够选一项,再点击”改名“,在”新标题处“输入”用户“,最后点击“全部改名”按钮返回,其他两个相应改为“新闻”和“事件”。

3)主页也是英文内容:更换成你自己公司的介绍是个不错的注意。点击左上角“首页”-->"查看“,鼠标下移到主页标题“Welcome to Plone“并单击后改为”欢迎来到微算公司“,其他部分作类似操作修改。

4)修改默认的管理员密码:http://localhost:8080/manage -->acl_users-->users-->password

一、grub.cfg详解(红色为说明)

grub.cfg 默认为只读,要修改前先设为可写

sudo chmod +w /boot/grub/grub.cfg

set default=0

#默认为0

insmod jpeg

#添加jpg支持,如要使用png或tga文件做背景,加上 insmod png或insmod tga

insmod ext2

#除了用作启动的分区外,其他分区格式可在menu底下再添加

set root=(hd0,7)

#设定root分区

search --no-floppy --fs-uuid --set f255285a-5ad4-4eb8-93f5-4f767190d3b3

#设定uuid=****的分区为root,和上句重复,可删除

# 以下为终端配置

if loadfont /usr/share/grub/unicode.pf2 ; then

#设置终端字体,unicode.pf2支持中文显示

set gfxmode=640x480

#设置分辨率,默认为 640x480,可用800x600,1024x768,建议跟你想设定的图片大小一致

insmod gfxterm

#插入模块 gfxterm,支持中文显 示,它还支持 24 位图像

insmod vbe

#插入 vbe 模块,GRUB 2 引入很多模块的东西,要使用它,需要在这里加入

if terminal_output gfxterm ; then true ; else

# For backward compatibility with versions of terminal.mod that don't

# understand terminal_output

terminal gfxterm

#设置 GRUB 2 终端为 gfxterm

fi

fi

set timeout=10

background_image (hd0,7)/boot/images/1.jpg

#设置背景图片

### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###

set menu_color_normal=white/black

set menu_color_highlight=cyan/black

#这两行为 Debian 下的菜单颜色设置,如果默认的话,你会发现背景完全被蓝色挡住了,你需要修改 blue 为 black,这样背景就会出现

### END /etc/grub.d/05_debian_theme ###

# 10_linux 为自动添加的当前root分区linux引导项

### BEGIN /etc/grub.d/10_linux ###

#菜单项,要包括 menuentry 双引号" " 和大括号 { }才完整,否则不显示菜单

menuentry "Ubuntu, Linux 2.6.31-9-386" {

insmod ext2

set root=(hd0,7)

search --no-floppy --fs-uuid --set f255285a-5ad4-4eb8-93f5-4f767190d3b3

#这句与set root=(hd0,7)重复,可删除

linux /boot/vmlinuz-2.6.31-9-386 root=UUID=f255285a-5ad4-4eb8-93f5-4f767190d3b3 ro quite splash

#不喜欢看到一长串的, roo=UUID=***可用root=/dev/sda7代替

initrd /boot/initrd.img-2.6.31-9-386

}

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_memtest86+ ###

menuentry "Memory test (memtest86+)" {

linux16 /boot/memtest86+.bin

}

### END /etc/grub.d/20_memtest86+ ###

# 自动添加存在于其他分区的系统引导项

### BEGIN /etc/grub.d/30_os-prober ###

#windows 启动菜单

menuentry "Windows Vista (loader) (on /dev/sda1)" {

insmod ntfs

#windows格式为ntfs,或为fat32改为 insmod fat

set root=(hd0,1)

search --no-floppy --fs-uuid --set ece067d2e067a196

#可删除

#grub2比较先进的地方就是如果发现windows启动是通过ntldr 引导的,定为2000/xp/2003,会在这加上 drivemap -s (hd0) ${root} ,作用相当于grub的map,可正常启动非第一硬盘的xp/2003系统。

chainloader +1

}

# 查找到其他分区上的linux系统并自动添加

menuentry "Ubuntu karmic (development branch) (9.10) (on /dev/sda3)" {

insmod ext2

set root=(hd0,3)

search --no-floppy --fs-uuid --set 4d893970-0685-44ed-86b3-1de45b2db84a

linux /boot/vmlinuz-2.6.31-9-generic root=/dev/sda3

initrd /boot/initrd.img-2.6.31-9-generic

}

#若存在macos会自动在这里添加。

### END /etc/grub.d/30_os-prober ###

# 以下为手动添加的菜单项

### BEGIN /etc/grub.d/40_custom ###

menuentry "CDLinux"{

set root=(hd0,8)

linux /CDlinux/bzImage root=/dev/ram0 vga=791 CDL_LANG=zh_CN.UTF-8

initrd /CDlinux/initrd

}

### END /etc/grub.d/40_custom ###

# 手动添加时,硬盘编号从0开始(hd0),主分区编号从1开始(hd0,1),逻辑分区从5开始(hd0,5)

二、grub2终端部分命令介绍

在出现选择菜单时,按C进入终端命令行模式,按E进入当前菜单项编辑模式(和grub一样),编辑中按Ctrl + C退出,按Ctrl + X 以编辑内容启动。

1. help

查看命令用法,显示所有可用命令

help search

search 命令用法

2. ls

列出当前的所有设备。如 (hd0) (hd0,1) (hd0,5) (hd1) (hd1,1) (hd1,2) .......

ls -l

详细列出当前的所有设备。对于分区,会显示其label及uuid。

ls /

列出当前设为root的分区下的文件

ls (hd1,1)/

列出(hd1,1)分区下文件

3. search

search -f /ntldr

列出根目录里包含ntldr文件的分区,返回为分区号

search -l LINUX

搜索label是LINUX的分区。

search --set -f /ntldr

搜索根目录包含ntldr文件的分区并设为root,注意如果多外分区含有ntldr文件,set 失去作用。

4. loopback

loopback命令可用于建立回放设备,如

loopback lo0 (hd1,1)/abc.iso

可以使用lo0设备来访问abc.iso里的内容,比如说,可以从abc.iso里的软盘映像中启动

loopback lo0 (hd1,1)/aa.iso

linux (lo0)/memdisk

initrd (lo0)/abc.img

要删除某一回放设备,可以使用-d参数:

loopback -d lo0

5. set

使用set可以设置变量的值

set root=

set timeout=

需要调用变量的值时,使用${AA},如set root=(hd1,1)

则${root}=(hd1,1)

6. pager

分页显示。

set pager=1

满页时暂停,按space继续

set pager=0

取消分页

7. linux

linux取代grub中的kernel

三、

单linux系统或

硬盘安装时iso放在C盘,umount /isodevice引起的误认为单系统

不能出现菜单项的几种处理方法。

1. 开机自检后时按几下shift键,可调出菜单项

2. sudo update-grub

重建grub.cfg,会发现新的系统而改写grub.cfg,一般能出现菜单项。

3.如第二种方法不能解决,直接修改grub.cfg

把在### BEGIN /etc/grub.d/30_os-prober 中的这一段

if keystatus; then

if keystatus --shift; then

set timeout=-1

else

set timeout=0

fi

else

if sleep$verbose --interruptible 3 ; then

set timeout=0

fi

fi

删除或修改三处set timeout=<大于0>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: