[问题] Ubuntu20.04 安装bootloader?

楼主: in09   2020-11-14 07:04:19
原来的设定是这样:
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://www.ptt.cc/bbs/Linux/M.1605308662.A.A4A.html
作者: holishing   2020-11-14 11:07:00
试试看 LiveUSB 开机后 chroot 进去 20.04 装 grub
作者: gR7P4zXH (tpn7gpdx)   2020-11-14 11:15:00
apt install boot-repair
作者: ucrxzero (RX-0)   2020-11-14 13:32:00
Grub-install 参数选一下就行了不过你的SSD没有vmlinux 跟ramfs 那些必须档案也开不了机远端我帮你用一下也行开机顺序是initramfs->vmlinux我猜都在HDD内请高手别来挑我语病
作者: tomsawyer (安安)   2020-11-14 14:03:00
/boot 不见得跟/efi在一起吧
作者: ucrxzero (RX-0)   2020-11-14 14:31:00
只有arch linux 是/efi ...他也没说是UEFI还是BIOS 所以要整个看一下= =你如果SSD是GPT 要开机还要塞Bios Boot Partition所以我才说没那么简单R dirty work一堆等等送给电脑公司又说中毒真的无言可能其他的OS默认有其他efi位置不过不是重点~
作者: Bencrie   2020-11-14 14:51:00
你的开机顺序反了。你有看过 init 比 kernel 早起来的喔不要 bootloader 直接从 UEFI BIOS 开机风险有点高看 BIOS 能不能喂 kernel cmdline 参数
作者: ucrxzero (RX-0)   2020-11-14 15:11:00
恩恩顺序讲反了我自切我又散布不实谣言 对不起各位我把arch linux的spec 跟 initramfs/initrd的man都看过y了还是能讲错 我自切不过我想一想这两个档案其实是同时被load的吧有人知道ㄇBencrie大大好像误会惹我说的不是pid=1的那个init
作者: Bencrie   2020-11-14 15:36:00
initramfs 里面有 init 啊kernel 要负责解压缩 initramfs 然后 run 里面的 init把 rootfs 的 device 拉起来以后再 switch root
作者: ucrxzero (RX-0)   2020-11-14 15:50:00
有感觉了感谢
作者: bitlife (BIT一生)   2020-11-14 19:17:00
bootloader不是为多重开机,android目前没多重开机也是有bootloader,它的用途就是如名称所说,要boot os要靠它load讲古一下,在apple时代bootstrap一词比较常见,后来渐渐省略成boot,一般讲DOS(不是IBM,MS的DOS)的书都会提bootstrap一词是说先拉鞋带,靴带再带动鞋子,鞋子再带动脚,然后把整个人拉起来另一说是鞋带绑一条比它粗的绳子上来,再越带越粗的绳子上来,最后把粗绳梯拉起来,然后被困在塔里的公主就能下塔维基百科中文是采前一说,也有名词来源,我最早印象也是那句英文每一个OS都有它的bootloader, linux是grub,NT系列是NTLDR没有bootloader,光靠BIOS/uefi难以加载现代复杂的作业系统,不论加载架构,filesystem等都是各自作业系统最清楚,所以只能约定靠BIOS/uefi加载一个最初最小的bootloader,再由它去负责加载完整的作业系统,这样BIOS/uefi才能够足够小以装入flash内存,并且不用经常更新
作者: ucrxzero (RX-0)   2020-11-14 20:03:00
我有一个问题,你现在还能用HDD开机为何还要用Live?bitlife神
作者: bitlife (BIT一生)   2020-11-14 20:03:00
我前面推文就是在讲grub是加载linux必须的[bootloader]grub是缩写,它的b就是那个bootloader所以改成说不一定要grub还是不行的我只是比较老(物理),没有比较神 XD你用LiveCD装grub的语意,如果不是自行下命令列指定root分区,会变成安装grub来boot你的live CD的root分区,然后你CD取出重开机后,当初那个ramdisk的root分区就消失了,所以开不起来找一下网络上的live usb修复grub教学,基本上就是要在你实际的SDD root分区的/里装上grub,至于怎么做就找教学文吧等一下,我忘了live cd本身有修复,所以如果你是用livecd修复功能而非在try livecd环境中执行的安装grub,请忽略以上推文 
作者: Bencrie   2020-11-14 21:32:00
kernel 把必要的 driver built-in、cmdline built-inUEFI 是可以直接开 Linux。UEFI自己就能当 bootloader XD
作者: bitlife (BIT一生)   2020-11-14 21:34:00
bootloader本来就分在flash里和hdd/sdd里的两阶段,然后UEFI本来就是bootloader的一环,但是我必须承认这下grub会变非必须 XD 但是这是上面所谓的“不复杂”的情况 XD
作者: ucrxzero (RX-0)   2020-11-14 21:54:00
因为UEFI可以直接选efi档案进行开机 但不知为啥危险
作者: bitlife (BIT一生)   2020-11-14 22:06:00
没开secure boot时怕boot到一只大型木马啊 XD
作者: ucrxzero (RX-0)   2020-11-14 22:07:00
是因为UEFI是用C写的可以进行Buffer overflow的攻击?抱歉还不太懂木马是什么但我通常不开secure boot因为load不了驱动程式感谢解答
作者: bitlife (BIT一生)   2020-11-14 22:13:00
木马可google trojan horse. 驱动程式要signed过,sign又牵涉到uefi内建金钥问题,通常厂商只内建微软的key所以搞到后来大家都先关secure boot(好像默认也关了?XD)
作者: holishing   2020-11-14 23:21:00
有需要的使用者装 Ubuntu,CentOS,Debian 时还是可以试试看 secure boot,理论上都可以
作者: hizuki (ayaka)   2020-11-24 20:08:00
bootloader简单说是用来init memory和外部储存器的,嵌入式很有感

Links booklink

Contact Us: admin [ a t ] ucptt.com