grub

Does GRUB switch to protected mode?

我怕爱的太早我们不能终老 提交于 2019-12-04 23:20:16
I would like to ask if it is GRUB that switch the CPU to protected mode during boot up or is it the Linux kernel that does it. And also I would like to ask - is the kernel itself (vmlinuz) an ELF or is it plain binary format? Thanks. GRUB does drop you in protected mode. The GRUB Multiboot Specification (version 0.6.96) Section 3.2 tells you this ‘CR0’ Bit 31 (PG) must be cleared. Bit 0 (PE) must be set. Other bits are all undefined. And CR0 Register mapping tells you that the system should be in protected mode. Linux is not a multiboot kernel and does not rely on some bootloader for switching

Centos7升级内核

南笙酒味 提交于 2019-12-04 23:15:33
步骤 1:检查已安装的内核版本 让我们安装了一个发行版,它包含了一个特定版本的内核。为了展示当前系统中已安装的版本,我们可以: # uname -sr 下面的图片展示了在一台 CentOS 7 服务器上的输出信息: 在 CentOS 7 上检查内核版本 如果我们现在进入 https://www.kernel.org/,在撰写本文时,我们看到最新的内核版本是4.10.1(其他版本可以从同一网站获得)。 还要考虑的一个重要的事情是内核版本的生命周期 - 如果你当前使用的版本接近它的生命周期结束,那么在该日期后将不会提供更多的 bug 修复。关于更多信息,请参阅内核发布页。 步骤 2:在 CentOS 7 中升级内核 大多数现代发行版提供了一种使用 yum 等包管理系统和官方支持的仓库升级内核的方法。 但是,这只会升级内核到仓库中可用的最新版本 - 而不是在 https://www.kernel.org/ 中可用的最新版本。不幸的是,Red Hat 只允许使用前者升级内核。 与 Red Hat 不同,CentOS 允许使用 ELRepo,这是一个第三方仓库,可以将内核升级到最新版本。 可以去http://elrepo.org/tiki/tiki-index.php 选择要安装的ELRepo 要在 CentOS 7 上启用 ELRepo 仓库,请运行: # rpm --import

安装遇错误无法将grub-efi-amd64-signed软件包安装

南楼画角 提交于 2019-12-04 13:37:33
完整错误描述: 无法将grub-efi-amd64-signed软件包安装到/target/中,如果没有GRUB启动引导器,所安装的系统将无法启动 网上有几个说法: 1、64位系统有个32位系统的文件夹无法创建,32位系统不存在这个问题; 2、这个是个bug,有网络的时候会自动帮你修复,所以联网就能解决; 3、而经过重复的错误判断发现,并不是以上两种错误造成; 错误显示如下: 一.1首先确定磁盘是MBR还GPT,如图则为GPT,如果是MBR则会显示MBR, 2.确定主板是是UEFI还是传统的BIOS,进入BIOS(如何进入请百度)后,如图则为UEFI。 3.如果确定是MBR+BIOS,那么网上的教程普遍都适合你,安装也很简单,百度也有不少经验可供参考,也有UEFI+MBR的话自行百度,不过本教程应该也适用。如果是GPT+UEFI①,个人不建议尝试,首先现在无法简单用windows引导,网上说是用easybcd,但是easybcd无法在UEFI下使用②。只能通过grub引导,如图,导致的问题是卸载Ubuntu后要修复引导分区,很不方便,如果仍然坚持安装,可以接着往下看。 步骤阅读 步骤阅读 2 二,1.关闭"BIOS"的secure boot, 2.关闭win10的快速启动,如图; 3.创建一个分区,可以选择系统自带的压缩磁盘,右键我的电脑-管理-磁盘,在比较大的磁盘选择压缩

用U盘装CentOS把引导写在U盘上的同学们有救了!试试我的方法。

时光毁灭记忆、已成空白 提交于 2019-12-04 09:51:27
先自豪一下,我发现我真是天才! 再来情景回顾一下: 公司有台旧机器,同事说装个Linux没事干研究研究,正好我前几天下载了个CentOS6.4,这个工作就由我来完成了。可怜的是破机器没有光驱。只好用U盘。怎么做的启动盘我就不说了,怎么装的我也不说了,网上一大把。我要说的是,我装成功了。(我废话好多)客官往下看,问题来了。重启后我把U盘拔掉了。然后就再也起不来了。。 很少苦恼啊,死的心都有了,破机器慢的,装系统花费了我1个多小时啊。上百度查了一下人家说是把引导装在U盘里了。我试了一下,插上U盘真的可以启动。悲催了。要是我自己的电脑,我就懒得弄了,可这是公司的啊。不能老得插我U盘啊。于是我就问了好多群里的人,都告诉我重装系统。可我不死心,不能动不动就重装吧?不啰嗦了, 下面是解决办法,参考好多人的资料! 1.插上U盘,让系统正常启动。(如果手贱一生气把U盘格了,那就弄个 Live CD 启动 ) 2.打开一个终端,运行$sudo grub命令(这里可能需要等一会儿),你会看到’grub>’这样的提示符 3.在提示符’grub>’后输入find /grub/stage1,你会得到一个运行结果,比如我的机子上结果是(hd0,0) (这个命令其实就是找出/boot所在分区) 4.运行grub>root (hd0,0) (这个位置要填上你机子上的运行结果) 5.运行grub>setup

解决Windows和Ubuntu时间不一致的问题[有用]

為{幸葍}努か 提交于 2019-12-04 09:15:34
解决Windows和Ubuntu时间不一致的问题 问题原因是使用的时间不一致导致的。win10直接从bios读出来的时间认为就是实际时间,ubuntu认为加上8个小时 后的才是。win10用的rtc ,ubuntu用的utc 在ubuntu16.04 中 命令 timedatectl 可以查看,具体用法 请输入命令 man timedatectl 其中解决办法是输入命令: timedatectl set-local-rtc true 修改win10和ubuntu16.04双系统启动顺序 sudo gedit /etc/default/grub GRUB_DEFAULT=2 sudo update-grub 大家在切换 操作系统 的时候会发现一个问题, Windows 和 Ubuntu 的时间会出现不一致的情况。在 Windows 中把时间设置正确了过后,回到在 Ubuntu 后系统的时间又不一样了,在 Ubuntu中把时间设置正确后进入 Windows 后,时间又不一致了。   出现这种情况的原因是 Windows 和 Ubuntu它们在默认情况下看待硬件时间(主板上的BOIS显示的时间)的方式不一样。 知道了问题存在的原因,我们就来解决这个问题。   这个是一个关于时间的问题,我们就先来了解一下关于时间的概念   UTC即Universal Time Coordinated

Change GRUB's variable using a C language [closed]

喜夏-厌秋 提交于 2019-12-04 05:48:14
问题 Closed. This question is off-topic. It is not currently accepting answers. Want to improve this question? Update the question so it's on-topic for Stack Overflow. Closed last year . I was wondering if there is any way for me to write a C program to change the value off GRUB's variables. I need to write a program that can reboot my computer on another OS, for example : I am on Suse disk1 program changes GRUB's variable and reboot automatically. I am on Suse disk2 I would like to access

Linux学习----ArchLinux安装

女生的网名这么多〃 提交于 2019-12-04 01:19:35
archLinux 安装步骤 验证启动模式 # ls /sys/firmware/efi/efivars 如果目录不存在系统则是以BIOS或CSM模式启动 连接网络 # ip link 检查网络连接 # wifi-menu 连接wifi # pppoe-setup # systemctl start adsl # ping archlinux.org 检查网络连接 更新系统时间 # timedatectl set-ntp true 建立硬盘分区 # fdisk -l 查看硬盘分区 # fdisk /dev/sda 进行硬盘分区,n---添加一个分区,w---保存并退出,q---直接退出 分区示例如图: 格式化分区 # mkfs.ext4 /dev/sdX1 如果您创建了交换分区(例如 /dev/sda3),使用 mkswap 将其初始化: # mkswap /dev/sdX2 # swapon /dev/sdX2 详情见 https://wiki.archlinux.org/index.php/File_systems_(简体中文)#创建文件系统 选择镜像 # nano /etc/pacman.d/mirrorlist 找到China源并将该源移动到最前面,具体怎么操作见 http://www.vpser.net/manage/nano.html 安装必须的软件包

Implementing GDT with basic kernel

时光怂恿深爱的人放手 提交于 2019-12-03 21:43:24
I've recently become fascinated with kernel development, and started with the bare bones tutorial on the OSDev Wiki. After implementing the Hello World example, I moved on and began attempting to create the Global Descriptor Table. From various sources online I pieced together some code for the GDT, which ultimately fails. Is there something wrong in my implementation of this, and if that is not immediately clear, is there any source that could provide more info? In short, the following implementation of a kernel with a GDT fails to load using GRUB. I am compiling with gcc and as , can provide

linux网卡名称修改

∥☆過路亽.° 提交于 2019-12-03 20:16:56
vim /etc/sysconfig/grub ,在倒数第二行添加如下代码 net.ifnames=0 biosdevname=0 GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)" GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet net.ifnames=0 biosdevname=0" GRUB_DISABLE_RECOVERY="true" 执行命令 grub2-mkconfig -o /boot/grub2/grub.cfg grub2-mkconfig -o /boot/grub2/grub.cfg [root@centos2 /etc/sysconfig]grub2-mkconfig -o /boot/grub2/grub.cfg Generating grub configuration file ... Found linux image: /boot/vmlinuz-3.10