ZZ xubuntu-desktop惹的祸,及grub2

提醒一下,装桌面环境要慎重,最好是装单独的东西,不然可能会带来一大堆东西。
如果不小心来了个“sudo apt-get install xubuntu-desktop”,之后又不想用了。那么,仅仅是"sudo apt-get remove ubuntu-desktop" 是无济于事的。看看你的电脑被装了些什么:

abiword abiword-common abiword-plugin-grammer abiword-plugin-mathview alacarte bison blueman brltty-x11 catfish exo-utils flex fonts-droid gigolo gmusicbrowser gnome-desktop-data gnome-system-tools gnome-time-admin gnumeric gnumeric-common gnumeric-doc gstreamer0.10-gnomevfs gthumb gthumb-data gtk2-engines-pixbuf indicator-application-gtk2 indicator-messages-gtk2 indicator-sound-gtk2 indicator-status-provider-pidgin leafpad libabiword-2.9 libao-common libao4 libaudio scrobbler-perl libbison-dev libcolamd2.7.1 libconfig-inifiles-perl libdigest-crc-perl libencode-locale-perl libexo-1-0 libxo-common libxo-helpers libfile-listing-perl libfl-dev libfont-afm-perl libgarcon-1-0 libgarcon-common libgdome2-0 libgdome2-cpp-smart0c2a libglade2-0 libgnomevfs2-0 libgnomevfs2-common libgnomevfs2-extra libgoffice-0.8.8 libgoffice-0.8.8-common libgsf-1-114 libgsf-1-common libgstreamer-perl libgtk2-notify-perl libgtk2-trayicon-perl libgtkmathview0c2a libgtkspell0 libhtml-form-perl libhtml-format-perl libhtml-tagset-perl libhtml-tree-perl libhttp-cookies-perl libhttp-daemon-perl libhttp-date-perl libhttp-message-perl libhttp-negotiate-perl libid3tag0 libido-0.1-0 libio-socket-inet6-perl libio-socket-ssl-perl libkeybinder0 liblaunchpad-integration1 liblink-grammar4 libloudmouth1-0 liblwp-mediatypes-perl liblwp-protocol-https-perl libmailtools-perl libnet-dbus-perl libnet-http-perl libnet-ssleay-perl liboobs-1-5 libotr2 libots0 libsexy2 libsocket6-perl libtagc0 libthunarx-2-0 libtidy-0.99-0 libtie-ixhash-perl libtumbler-1-0 libunique-1.0-0 liburi-perl libwv-1.2-4 libwww-perl libwww-robotrules-perl libxfce4ui-1-0 libxfce4util-bin libxfce4util-common libxfce4util4 libxfce4ui4-4 libxfconf-0-2 libxml-parser-perl libxml-twig-perl libxml-xpath-perl lightdm-gtk-greeter link-grammar-dictionaries-en linux-headers-3.2.0-29-generic linux-headers-generic lp-solve m4 mpg321 nvidia-common orage parole pavucontrol pidgin pidgin-data pidgin-libnotify pidgin-microblog pidgin-otr plymouth-theme-xubuntu-logo plymouth-theme-xubuntu-text python-glade2 python-gmenu ristretto screensaver-default-images shimmer-themes system-tools-backends thunar thunar-archive-plugin thunar-data thunar-media-tags-plugin thunar-volman ttf-droid ttf-lyx tumbler tumbler-common xchat xchat-common xfburn xfce-keyboard-shortcuts xfce4-appfinder xfce4-cpugraph-plugin xfce4-datetime-plugin xfce4-dict xfce4-indicator-plugin xfce4-mailwatch-plugin xfce4-netload-plugin xfce4-notes xfce4-notes-plugin xfce4-nodifyd xfce4-panel xfce4-places-plugin xfce4-power-manager xfce4-power-manager-data xfce4-quicklaucher-plugin xfce4-screenshooter xfce4-session xfce4-settings xfce4-systemload-plugin xfce4-taskmanager xfce4-terminal xfce4-utils xfce4-verve-plugin xfce4-volumed xfce4-weather-plugin xfce4-xkb-plugin xfconf xfdesktop4 xfdesktop4-data xfwm4 xscreensaver xscreensaver-data xscreensaver-gl xubuntu-artwork xubuntu-docs xubuntu-icon-theme xubuntu-wallpapers

卸载时有选择性地卸载这些东西。注意里边甚至给你装了内核,先查看你现在用的内核uname -a
如果要查看所有安装的内核,则是dpkg -l|grep linux,如果需要删除旧的内核则用sudo apt-get remove(我不太敢用--purge,一般用autoclean)
然后备份/boot/grub/grub.cfg之后,运行sudo update-grub或者sudo grub-mkconfig -o /boot/grub/grub.cfg
重启即可。
 
关于grub2的一些小技巧:(转自http://linux-wiki.cn/wiki/zh-hans/Grub2配置

GRUB,全称the GRand Unified Bootloader,是常用的引导程序,一般负责在开机时装载操作系统内核。GRUB 2是最近流行起来的GRUB新版本。

目录

[隐藏]

Grub 2与Grub

Grub 2虽在名称上是Grub的升级版,但其代码实际上被完全重写了。[1],对于最终用户来讲,Grub 2带来了若干改进,如:

  • 自动搜索可用的内核和硬盘中的可用系统。
  • 可支持NTFS等更多分区格式。
  • 可启动Windows、Mac OS X等多种系统。
  • 更人性化的设计,如键入命令时TAB补全很强大,输出很长时会分页显示等。
  • 界面的定制更加灵活

从配置的角度,Grub 2主要有以下几点不同[2] [3]

  • /boot/grub/menu.lst/boot/grub/grub.cfg所取代
  • 主配置文件grub.cfg不能直接被用户修改,而是由系统自动生成
  • 每当安装内核、更新Grub 2或用户主动运行grub-mkconfig -o /boot/grub/grub.cfg(曾经是update-grub)后,Grub 2会根据用户配置文件重新生成grub.cfg
  • 可编辑的Grub 2配置文件主要包括/etc/default/grub、和/etc/grub.d/下的各文件。
  • 分区命名方式有变,第一个分区现在是1而不是0,但第一个设备仍然以0开始计数,如(hd0, 1)表示第一块硬盘上的第一个分区。
注意: 
使用Grub 2时,不要手动编辑/boot/grub/grub.cfg!否则所做的修改在Grub更新或安装内核等情况下消失。有些文档建议先赋予grub.cfg写权限再编辑之,这是非常不可取的……
提示: 
修改了配置文件后,一定要运行update-grub才能使新的配置生效。

安装

多数系统已经预装了Grub 2。相比于为系统安装Grub 2软件而言,更常见的任务是将在Grub 2安装到硬盘引导区。(如安装Windows后Grub 2会被Windows清出硬盘MBR。。。)

Grub 2的工具多是grub-开头的一系列命令,而将其安装到硬盘上的命令则是grub-install

grub-install --root-directory=/ /dev/sda

其中root-directory用于指明存放/boot文件的分区。在用恢复盘启动时,应先挂载装有Grub 2的系统,再相应地执行grub-install指令。

/dev/sda表示安装到sda的MBR。Grub 2亦可安装到分区的引导扇区,但不建议这么做(不小心的话会破坏某些类型的分区,如修复被grub覆盖的ntfs分区引导扇区是挺麻烦的)。

全局配置

影响Grub 2行为的主要配置存放在/etc/default/grub中,可实现修改启动项、更改分辨率、禁用操作系统探测器等。由于配置文件本身可读性很好,仅介绍几个不大直观的项。完整的参数介绍可以参见[2]BURG的文档

默认启动项

默认启动项由/etc/default/grub中的GRUB_DEFAULT设置,其取值有如下几种:

数字 (如GRUB_DEFAULT=0) 
从0开始的菜单项编号,如果有子菜单,则形如 2>0
saved 
默认启动最后一次选中的启动项。使用此选项时,使用grub-set-default可设置默认启动项,grub-reboot可设置仅影响下次启动时的默认启动项。
启动项名称
由于启动项的序号可能是动态改变的,使用启动项的名称设置默认值有时更稳妥,如GRUB_DEFAULT="Ubuntu, Linux 2.6.31-9-generic"

更新配置后,不要忘了运行update-grub命令。

自定义菜单项

提示: 
有些发行版(如Archlinux)由于未安装os-prober,不能自动探测硬盘上的其它操作系统,装上os-prober软件即可解决此问题。[4]

菜单项一般是由操作系统探测器(os-prober)自动生成的,但在某些情况下(如硬盘安装时)也需要手动修改自定义菜单项。

自定义菜单项一般存放在/etc/grub.d/40_custom文件中。

一个简单的菜单项定义如下[2]

menuentry "System Rescue CD" {
  set root=(hd0,8)
  linux /sysrcd/rescuecd subdir=sysrcd setkmap=us
  initrd /sysrcd/initram.igz
}

其中,第一行set root=对应以前Grub的root命令;linux对应以前的kernel命令;initrd命令功能与Grub 1相同。

又如[4]

menuentry "Windows XP" {
    set root=(hd0,3)
    chainloader (hd0,3)+1
}

此处set root=对应老Grub的rootnoverify

请再次注意,Grub 2中分区号从1开始,但磁盘号仍然是从0开始的。。(详情请见Grub磁盘分区表示方法

更多的例子,可以参考/boot/grub/grub.cfg中自动生成的代码。

更新配置后,不要忘了运行update-grub命令。

美化

有多主题可选的BURG截图

Grub 2支持修改背景、前景颜色或使用图片做背景,但一般来讲配色是一个痛苦的过程……如有美化需求,建议参考文章用BURG美化GRUB


恢复模式 (Rescue Mode)

如果Grub2启动失败,会进入恢复模式,此时,屏幕上会显示 grub rescue>字样。此时无需紧张,只要Grub2还在硬盘上,就可使用该控制台将其启动[5][4]

# 在 grub rescue> 环境下输入如下命令, (hdX,Y)为包含Grub2的分区
set prefix=(hdX,Y)/boot/grub
insmod (hdX,Y)/boot/grub/normal.mod
normal

别忘了把(hdX,Y)换成Grub2所在的分区(具体见Grub磁盘分区表示方法)。执行后应该就能看到启动菜单了。

常用命令小结

在系统命令行中使用的命令:

# 重新生成配置文件
grub-mkconfig -o /boot/grub/grub.cfg
 
# 将Grub 2安装到硬盘引导扇区
grub-install --root-directory=/ /dev/sda
posted @ 2012-08-16 17:31  joywelt  阅读(674)  评论(0编辑  收藏  举报