作者in09 ()
看板Linux
标题[问题] Ubuntu20.04 安装bootloader?
时间Sat Nov 14 07:04:19 2020
原来的设定是这样:
HDD : grub + Ubuntu 16.04
SSD : Ubuntu 20.04
现在 HDD 要退役, 我从 SSD 不能开机, 我猜是没有 bootloader
我该做什麽才能装个 bootloader 上去?
不一定要 grub, 只要能开机就好, 以後应该都不需要多重开机了
====== update 後续
谢谢各位, 不过我看不太懂, 就用LiveCD 开机, 试着装grub, 然後
不知做错什麽, SSD 里的Ubuntu不会动了,所以我只能乾脆重装,重装
时只有SSD, 然後就OK了~~
好在只是不会动,重装前用LiveCD把资料都救出来了
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.37.179.33 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Linux/M.1605308662.A.A4A.html
1F:推 holishing: 试试看 LiveUSB 开机後 chroot 进去 20.04 装 grub 11/14 11:07
2F:推 gR7P4zXH: apt install boot-repair 11/14 11:15
3F:推 ucrxzero: Grub-install 参数选一下就行了 11/14 13:32
4F:→ ucrxzero: 不过你的SSD没有vmlinux 跟ramfs 那些必须档案也开不了 11/14 13:33
5F:→ ucrxzero: 机 11/14 13:33
6F:→ ucrxzero: 远端我帮你用一下也行 11/14 13:34
7F:→ ucrxzero: 开机顺序是initramfs->vmlinux 11/14 13:37
8F:→ ucrxzero: 我猜都在HDD内 11/14 13:37
9F:→ ucrxzero: 请高手别来挑我语病 11/14 13:37
10F:→ tomsawyer: /boot 不见得跟/efi在一起吧 11/14 14:03
11F:推 ucrxzero: 只有arch linux 是/efi ... 11/14 14:31
12F:→ ucrxzero: 他也没说是UEFI还是BIOS 所以要整个看一下= = 11/14 14:33
13F:→ ucrxzero: 你如果SSD是GPT 要开机还要塞Bios Boot Partition 11/14 14:34
14F:→ ucrxzero: 所以我才说没那麽简单R dirty work一堆 11/14 14:34
15F:→ ucrxzero: 等等送给电脑公司又说中毒真的无言 11/14 14:35
16F:推 ucrxzero: 可能其他的OS预设有其他efi位置不过不是重点~ 11/14 14:39
17F:推 Bencrie: 你的开机顺序反了。你有看过 init 比 kernel 早起来的喔 11/14 14:51
18F:推 Bencrie: 不要 bootloader 直接从 UEFI BIOS 开机风险有点高 11/14 14:53
19F:→ Bencrie: 看 BIOS 能不能喂 kernel cmdline 参数 11/14 14:57
20F:推 ucrxzero: 恩恩顺序讲反了 11/14 15:11
21F:推 ucrxzero: 我自切 11/14 15:13
22F:推 ucrxzero: 我又散布不实谣言 对不起各位 11/14 15:17
23F:推 ucrxzero: 我把arch linux的spec 跟 initramfs/initrd的man都看过y 11/14 15:24
24F:→ ucrxzero: 了还是能讲错 我自切 11/14 15:24
25F:→ ucrxzero: 不过我想一想这两个档案其实是同时被load的吧有人知道ㄇ 11/14 15:25
26F:推 ucrxzero: Bencrie大大好像误会惹我说的不是pid=1的那个init 11/14 15:32
27F:推 Bencrie: initramfs 里面有 init 啊 11/14 15:36
28F:→ Bencrie: kernel 要负责解压缩 initramfs 然後 run 里面的 init 11/14 15:37
29F:→ Bencrie: 把 rootfs 的 device 拉起来以後再 switch root 11/14 15:38
30F:推 ucrxzero: 有感觉了感谢 11/14 15:50
31F:→ bitlife: bootloader不是为多重开机,android目前没多重开机也是有 11/14 19:17
32F:→ bitlife: bootloader,它的用途就是如名称所说,要boot os要靠它load 11/14 19:18
33F:→ bitlife: 讲古一下,在apple时代bootstrap一词比较常见,後来渐渐省 11/14 19:19
34F:→ bitlife: 略成boot,一般讲DOS(不是IBM,MS的DOS)的书都会提bootstra 11/14 19:20
35F:→ bitlife: p一词是说先拉鞋带,靴带再带动鞋子,鞋子再带动脚,然後把 11/14 19:21
36F:→ bitlife: 整个人拉起来 11/14 19:21
37F:→ bitlife: 另一说是鞋带绑一条比它粗的绳子上来,再越带越粗的绳子上 11/14 19:22
38F:→ bitlife: 来,最後把粗绳梯拉起来,然後被困在塔里的公主就能下塔 11/14 19:22
39F:→ bitlife: 维基百科中文是采前一说,也有名词来源,我最早印象也是那 11/14 19:29
40F:→ bitlife: 句英文 11/14 19:29
41F:→ bitlife: 每一个OS都有它的bootloader, linux是grub,NT系列是NTLDR 11/14 19:33
42F:→ bitlife: 没有bootloader,光靠BIOS/uefi难以载入现代复杂的作业系 11/14 19:33
43F:→ bitlife: 统,不论载入架构,filesystem等都是各自作业系统最清楚,所 11/14 19:34
44F:→ bitlife: 以只能约定靠BIOS/uefi载入一个最初最小的bootloader,再 11/14 19:35
45F:→ bitlife: 由它去负责载入完整的作业系统,这样BIOS/uefi才能够足够 11/14 19:35
46F:→ bitlife: 小以装入flash记忆体,并且不用经常更新 11/14 19:36
※ 编辑: in09 (114.37.179.33 台湾), 11/14/2020 20:00:25
47F:推 ucrxzero: 我有一个问题,你现在还能用HDD开机为何还要用Live? 11/14 20:03
有用HDD开机後试着对SSD装grub,但不行,为什麽不行的message忘了,
想说LiveCD说不定比较厉害,然後就真的很厉害的把SSD上的Ubuntu毁了
48F:→ ucrxzero: bitlife神 11/14 20:03
49F:→ bitlife: 我前面推文就是在讲grub是载入linux必须的[bootloader] 11/14 20:03
50F:→ bitlife: grub是缩写,它的b就是那个bootloader 11/14 20:03
51F:→ bitlife: 所以改成说不一定要grub还是不行的 11/14 20:05
52F:→ bitlife: 我只是比较老(物理),没有比较神 XD 11/14 20:08
※ 编辑: in09 (114.37.179.33 台湾), 11/14/2020 20:55:42
53F:→ bitlife: 你用LiveCD装grub的语意,如果不是自行下命令列指定root分 11/14 21:07
54F:→ bitlife: 区,会变成安装grub来boot你的live CD的root分区,然後你CD 11/14 21:08
55F:→ bitlife: 取出重开机後,当初那个ramdisk的root分区就消失了,所以开 11/14 21:08
56F:→ bitlife: 不起来 11/14 21:08
57F:→ bitlife: 找一下网路上的live usb修复grub教学,基本上就是要在你实 11/14 21:10
58F:→ bitlife: 际的SDD root分区的/里装上grub,至於怎麽做就找教学文吧 11/14 21:10
59F:→ bitlife: 等一下,我忘了live cd本身有修复,所以如果你是用livecd修 11/14 21:28
60F:→ bitlife: 复功能而非在try livecd环境中执行的安装grub,请忽略以上 11/14 21:29
61F:→ bitlife: 推文 11/14 21:29
62F:推 Bencrie: kernel 把必要的 driver built-in、cmdline built-in 11/14 21:32
63F:→ Bencrie: UEFI 是可以直接开 Linux。UEFI自己就能当 bootloader XD 11/14 21:33
64F:→ bitlife: bootloader本来就分在flash里和hdd/sdd里的两阶段,然後 11/14 21:34
65F:→ bitlife: UEFI本来就是bootloader的一环,但是我必须承认这下grub会 11/14 21:35
66F:→ bitlife: 变非必须 XD 但是这是上面所谓的「不复杂」的情况 XD 11/14 21:36
67F:推 ucrxzero: 因为UEFI可以直接选efi档案进行开机 但不知为啥危险 11/14 21:54
68F:→ bitlife: 没开secure boot时怕boot到一只大型木马啊 XD 11/14 22:06
69F:推 ucrxzero: 是因为UEFI是用C写的可以进行Buffer overflow的攻击? 11/14 22:07
70F:→ ucrxzero: 抱歉还不太懂木马是什麽 11/14 22:07
71F:→ ucrxzero: 但我通常不开secure boot因为load不了驱动程式 11/14 22:08
72F:→ ucrxzero: 感谢解答 11/14 22:08
73F:→ bitlife: 木马可google trojan horse. 驱动程式要signed过,sign又 11/14 22:13
74F:→ bitlife: 牵涉到uefi内建金钥问题,通常厂商只内建微软的key 11/14 22:14
75F:→ bitlife: 所以搞到後来大家都先关secure boot(好像预设也关了?XD) 11/14 22:16
76F:推 holishing: 有需要的使用者装 Ubuntu,CentOS,Debian 时还是可以 11/14 23:21
77F:→ holishing: 试试看 secure boot,理论上都可以 11/14 23:21
78F:→ hizuki: bootloader简单说是用来init memory和外部储存器的,嵌入 11/24 20:08
79F:→ hizuki: 式很有感 11/24 20:08