标签归档:Ubuntu

删除Windows 10与Ubuntu 18.04双系统中的Ubuntu启动项(UEFI)

删除需要用到DiskGenius软件,请准备好。免费版本即可,无需使用高级功能。

请严格按照以下顺序执行,否则可能出现删除失败的情况。

删除UEFI启动项:

启动CMD(管理员)
bcdedit /export savebcd
bcdedit /enum firmware
找到Ubuntu的对应identifier(标识符),复制(控制台下复制用右键标记-回车)
bcdedit /store savebcd /delete {xxx} ({}里面就是上一步的identifier)
bcdedit /import savebcd /clean

删除UEFI引导文件:

使用DiskGenius删除EFI分区中与Ubuntu启动的相关文件一般为

/EFI/ubuntu
/EFI/BOOT 可能有这个文件夹,通过创建时间判断

删除Ubuntu操作系统目录:

可以直接使用Windows“磁盘管理”工具删除分区。如果遇到“删除分区”为灰色的情况,请用在CMD中使用diskpart工具删除。

备注:

1、上面提到的savebcd文件默认存储在c:\windows\system32文件夹中

2、在PowerShell中执行以上命令是会出错,请使用CMD或启动PowerShell后键入cmd并回车。

Windows 10与Ubuntu 18.04双系统安装(UEFI)

制作启动盘

首先下载Ubuntu 18.04的iso镜像文件。这里给出中科大源的下载地址:点击下载 。完成后,用软件写入到U盘中待用。这里推荐使用UltraISO(我用的就是这个),或者Rufus(选择UEFI+MBR模式)。这部分比较简单,这里不详述。

准备磁盘空间

在Windows的“磁盘管理”工具中,准备好足够的空间备用(未分区,未格式化)。

UEFI安装准备

  • 插入U盘,开机
  • 进入BIOS,关闭安全启动(Secure-Boot)、快速启动(Fast-Boot)。
  • 选择使用U盘启动或者在启动顺序中将U盘提高到第一位。

安装Ubuntu

完成准备工作后,重启。接下来是正常安装Ubuntu过程,这里只对其中需要注意的地方进行说明:

1、分区表参考

/swap 主分区。一般设置等于物理内存
/home 逻辑分区。用户目录,可以设置稍大
/ 逻辑分区。根目录,剩余所有空间

2、关于/boot分区

由于是UEFI启动,所以无需挂载这个分区

3、关于EFI分区

实际测试,以下三种方式,所得到的结果均为启动文件被放在和Windows同一个EFI分区中

  • 方式一:Ubuntu安装时选择兼容Windows分区模式
  • 方式二:分区时选择自定义方式,并创建EFI分区,并在引导文件安装位置选择创建的EFI分区
  • 方式三:分区时选择自定义方式,不创建EFI分区,引导文件安装位置选择Windows Boot Manager所在分区,即Windows的EFI分区

所以,既然所有方式结果都一样,我们应该选择方式三。因为方式二将创建一个毫无用处的EFI分区。方式一只会创建一个“/”根目录挂载点。

选择启动方式

安装完后重启系统,将默认进入Ubuntu的UEFI启动界面。如果想让Windows作为默认启动选项,只需在BIOS中将UEFI启动顺序中的Windows对应项提升到首位即可

Ubuntu18.04 Nvidia显卡驱动安装

首先删除旧的Nvidia驱动文件

sudo apt-get purge nvidia-*

加入PPA源

sudo add-apt-repository ppa:graphics-drivers/ppa

安装Nvidia驱动

sudo apt-get update
sudo apt-get upgrade
sudo apt-get search nvidia-
找到最新的一个版本后执行安装,比如当前最新版为nvidia-390
sudo apt-get install nvidia-390

安装完重启,即可在系统信息中看见被识别出型号的Nvidia显卡

Ubuntu16.04更换源

修改以下文件以更换Ubuntu默认更新源

sudo vim /etc/apt/source.list

阿里云

# deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted
deb-src http://archive.ubuntu.com/ubuntu xenial main restricted 
#Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe 
#Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse 
#Added by software-properties
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe 
#Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse

apt-get update stuck: Connecting to security.ubuntu.com

使用apt-get update安装更新时经常会卡在

[Connecting to archive.ubuntu.com ]

这一步,这里提供解决方法:

编辑/etc/gai.conf ,取消34行处的注释。

#
#    For sites which prefer IPv4 connections change the last line to
#
precedence ::ffff:0:0/96 100

参考:http://askubuntu.com/questions/272796/connecting-to-archive-ubuntu-com-takes-too-long

Ubuntu创建用户并给与管理员权限

创建用户

sudo adduser henry

之后填写一些个人信息之后新用户就创建成功了。

接下来给予新用户管理员权限

chmod 755 /etc/sudoers
vim /etc/sudoers

修改文件如下

# User privilege specification
root   ALL=(ALL) ALL
henry  ALL=(ALL) ALL

保存后,新用户henry就有了管理员权限

su henry

恢复文件权限

sudo chmod 440 /etc/sudoers

Flatabulous扁平化Ubuntu主题安装

Flatabulous是一款扁平化的主题,通过Ubuntu Tweak工具安装。在本文中,将对如何安装Ubuntu Tweak工具和主题的安装配置进行介绍。

首先需要安装Ubuntu Tweak Tool,我用apt方式并不能安装成功,所以选择了deb安装。这里还是给出apt安装方法:

sudo add-apt-repository ppa:tualatrix/ppa 
sudo apt-get update 
sudo apt-get install ubuntu-tweak

我选择的是从官网下载.deb安装包,然后进行安装。首先从官网下载.deb文件,下载后得到ubuntu-tweak_0.8.7-1-trusty2_all.deb。安装ubuntu-tweak:

cd ~/Downloads
sudo dpkg -i ubuntu-tweak_0.8.7-1-trusty2_all.deb
# 如果在安装过程中缺少依赖包则先使用以下命令
sudo apt-get install -f

安装好后,在系统搜索中搜索ubuntu tweak即可找到。下面是软件的主界面。

20160330175212

然后我们安装Flatabulous主题。

这是一款开源的扁平化主题,在作者把代码开放在了Github,这里是地址。当然也可以直接下载zip包。我们需要先在用户目录创建一个主题文件夹:

cd ~
mkdir .theme

然后把从刚才给的地址下载的主题源码放入到这个目录下。这样我们的主题就安装好了。先不急着去ubuntu tweak中切换主题,我们再安装一个扁平化图标库。这样我们的主题将会看起来更加和谐:

sudo add-apt-repository ppa:noobslab/icons 
sudo apt-get update 
sudo apt-get install ultra-flat-icons

安装好后,打开ubuntu tweak,依次选择Tweaks -> Theme。在这里,我们选择主题为Flatabulous,选择icon为刚刚安装的Ultra-Flat。

20160330180256

这样,我们的Ubuntu美化工作就算完成了。贴张效果图吧:

20160330181320

主题作者原文:Flatabulous : Ubuntu Theme

Ubuntu安装中文和输入法

为了开发方便,我在自己的电脑上安装了Ubuntu系统。由于并不是为了日常使用,自然安装的是英文版,但是毕竟中文还是不可缺少的,所以在安装好后需要给系统安装中文。

安装在图形化界面即可完成,十分简单。打开设置,找到Language Support,将Language for menus and windows选框内最下面的“汉语(中国)”拖到选框顶部。点击确定即可。

20160325175411

然后注销用户重新登陆。

登陆后,系统会提示是否使用新的目录名(中文),当然选否,保留旧的配置,才不想让系统目录都变成中文呢。

这时候,可以看见系统的菜单已经变成中文了,但是系统的目录还是英文的,这正是我们所需要的。

下面再次打开Language Support,找到Keyboard input method system下拉框,选择输入法框架为fcitx。保存,注销用户并重新登陆。

登陆后便可以使用Ctrl + Space切换为中文输入法了。

最后,由于切换到中文菜单后,命令行中的提示也变成了中文,这并不是我们所需要的,于是在Language for menus and windows选框内将刚才调到第一位的“汉语(中国)”再次调到最低下,即不可用状态。然后注销用户重新登陆。

终于,系统变成了我们想要的状态:英文系统但有能够识别和输入中文。

Ubuntu和Windows双系统安装

这是在Windows系统的基础上安装Ubuntu 15.10系统。

前期准备

压缩卷分出30G以上的空间,不进行分区,备用。

首先下载Ubuntu 64位版。用UltralISO将iso文件写入到U盘中。

系统安装

用U盘引导进入Ubuntu安装过程。安装过程中有三个选项:

  1. 和Windows 7共存
  2. 删除原来分区,安装Ubuntu
  3. 其他选项

这里我们选择第三个,进行自定义分区。

在自定义分区中划分以下挂载点,分区均可选择为逻辑分区(是逻辑分区还是主分区并没有影响):

swap    8G
/boot    256M
/    30G
/home    剩余空间

并选择将引导文件写入到/boot所在的分区中。

完成剩余过程。

如果在这过程中出现错误或停住不能继续下去,则退出安装,重新启动。进入Windows操作系统,打开磁盘分区表,将Ubuntu安装过程中划分的分区删除,并重新建立分区。格式化这个分区,然后再删除掉这个分区。然后重新进入安装过程。

建立引导

使用EasyBCD建立引导。点击Add New Entry,加入Linux引导方式。选择刚才挂载/boot的分区作为引导分区。

20160320180540

大部分教程在这个地方Type选择的是GRUB(Legacy)方式引导,但是我用这种方式启动后无法进入Ubuntu系统。所以这里我选择的是GRUB 2方式,然后就ok了。

 

Ubuntu添加系统调用及内核编译

平台:VMware 9.0 pro

系统:Ubuntu 13.10 i386

新内核版本:Linux-3.17.7 32位

(全过程使用root账户)

一、下载新的内核

从 Kernel.org 上下载最新的内核。下载之后得到文件“ linux-3.13.7.tar.xz ”

cp文件到“ /usr/src ”目录,用以下命令解压

~$ xz -d linux-3.17.7.tar.xz
~$ tar -xvf linux-3.17.7.tar

解压完后得到目录” /usr/src/linux-3.17.7 ”

二、添加系统调用

进入新内核的文件目录

~$ cd /usr/src/linux-3.17.7

下面添加新的系统调用

a)、系统调用函数实现:修改kernel/sys.c文件

~$ vi kernel/sys.c

在文件的最后添加新的系统调用函数

SYSCALL_DEFINE1(mycall, int, number){ 
    printk("11061135 Henry Zivers\n");    
    return number;
} //DEFINEn中的n表示参数个数. 此函数目的为返回输入值

b)、设置系统调用号:修改arch/x86/syscalls/syscall_32.tbl

~$ vi arch/x86/syscalls/syscall_32.tbl

在文件最后添加一行

351    i386    mycall            sys_mycall  //351即为新的系统调用号

c)、添加系统调用声明到头文件

~$ vi include/asm-generic/syscalls.h

在文件倒数第二行,即 “ #endif /* __ASM_GENERIC_SYSCALLS_H */ ” 这行的上面一行添加如下内容

#ifndef sys_mycall
asmlinkage long sys_mycall(long number);
#endif

三、编译新的内核

首先安装ncurses库,这个库会在之后的编译中用到

~$ apt-get install libncurses5-dev

为了方便,将编译需要执行的所有内容写成批处理文件执行,写好的文件放在“ /usr/src/linux-3.17.7 ”目录下

~$ vi mycall.sh

批处理内容如下

#!/bin/bash

make mrproper    //清除旧的编译内容
make menuconfig    //编译新内核的配置文件
make bzImage    //生成新的内核镜像
make modules    //编译模块
make modules_install    //安装模块
make install    //安装内核

update-grub    //更新引导文件

reboot    //重新启动

编辑完成后保存,并赋给批处理文件最高的读写权限

~$ chmod 777 mycall.sh

执行编译

~$ ./mycall.h

(提示:编译过程中,将出现内核配置文件修改窗口,选择<save>,之后<exit>即可。即使用原先的配置,并不做修改。)