[爆卦]grub教學是什麼?優點缺點精華區懶人包

為什麼這篇grub教學鄉民發文收入到精華區:因為在grub教學這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者in09 ()看板Linux標題[問題] Ubuntu20.04 安裝bootloader?時間...


原來的設定是這樣:
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: 試試看 LiveUSB 開機後 chroot 進去 20.04 裝 grub 11/14 11:07
gR7P4zXH: apt install boot-repair 11/14 11:15
ucrxzero: Grub-install 參數選一下就行了 11/14 13:32
ucrxzero: 不過你的SSD沒有vmlinux 跟ramfs 那些必須檔案也開不了 11/14 13:33
ucrxzero: 機 11/14 13:33
ucrxzero: 遠端我幫你用一下也行 11/14 13:34
ucrxzero: 開機順序是initramfs->vmlinux 11/14 13:37
ucrxzero: 我猜都在HDD內 11/14 13:37
ucrxzero: 請高手別來挑我語病 11/14 13:37
tomsawyer: /boot 不見得跟/efi在一起吧 11/14 14:03
ucrxzero: 只有arch linux 是/efi ... 11/14 14:31
ucrxzero: 他也沒說是UEFI還是BIOS 所以要整個看一下= = 11/14 14:33
ucrxzero: 你如果SSD是GPT 要開機還要塞Bios Boot Partition 11/14 14:34
ucrxzero: 所以我才說沒那麼簡單R dirty work一堆 11/14 14:34
ucrxzero: 等等送給電腦公司又說中毒真的無言 11/14 14:35
ucrxzero: 可能其他的OS預設有其他efi位置不過不是重點~ 11/14 14:39
Bencrie: 你的開機順序反了。你有看過 init 比 kernel 早起來的喔 11/14 14:51
Bencrie: 不要 bootloader 直接從 UEFI BIOS 開機風險有點高 11/14 14:53
Bencrie: 看 BIOS 能不能餵 kernel cmdline 參數 11/14 14:57
ucrxzero: 恩恩順序講反了 11/14 15:11
ucrxzero: 我自切 11/14 15:13
ucrxzero: 我又散布不實謠言 對不起各位 11/14 15:17
ucrxzero: 我把arch linux的spec 跟 initramfs/initrd的man都看過y 11/14 15:24
ucrxzero: 了還是能講錯 我自切 11/14 15:24
ucrxzero: 不過我想一想這兩個檔案其實是同時被load的吧有人知道ㄇ 11/14 15:25
ucrxzero: Bencrie大大好像誤會惹我說的不是pid=1的那個init 11/14 15:32
Bencrie: initramfs 裡面有 init 啊 11/14 15:36
Bencrie: kernel 要負責解壓縮 initramfs 然後 run 裡面的 init 11/14 15:37
Bencrie: 把 rootfs 的 device 拉起來以後再 switch root 11/14 15:38
ucrxzero: 有感覺了感謝 11/14 15:50
bitlife: bootloader不是為多重開機,android目前沒多重開機也是有 11/14 19:17
bitlife: bootloader,它的用途就是如名稱所說,要boot os要靠它load 11/14 19:18
bitlife: 講古一下,在apple時代bootstrap一詞比較常見,後來漸漸省 11/14 19:19
bitlife: 略成boot,一般講DOS(不是IBM,MS的DOS)的書都會提bootstra 11/14 19:20
bitlife: p一詞是說先拉鞋帶,靴帶再帶動鞋子,鞋子再帶動腳,然後把 11/14 19:21
bitlife: 整個人拉起來 11/14 19:21
bitlife: 另一說是鞋帶綁一條比它粗的繩子上來,再越帶越粗的繩子上 11/14 19:22
bitlife: 來,最後把粗繩梯拉起來,然後被困在塔裏的公主就能下塔 11/14 19:22
bitlife: 維基百科中文是採前一說,也有名詞來源,我最早印象也是那 11/14 19:29
bitlife: 句英文 11/14 19:29
bitlife: 每一個OS都有它的bootloader, linux是grub,NT系列是NTLDR 11/14 19:33
bitlife: 沒有bootloader,光靠BIOS/uefi難以載入現代複雜的作業系 11/14 19:33
bitlife: 統,不論載入架構,filesystem等都是各自作業系統最清楚,所 11/14 19:34
bitlife: 以只能約定靠BIOS/uefi載入一個最初最小的bootloader,再 11/14 19:35
bitlife: 由它去負責載入完整的作業系統,這樣BIOS/uefi才能夠足夠 11/14 19:35
bitlife: 小以裝入flash記憶體,並且不用經常更新 11/14 19:36
※ 編輯: in09 (114.37.179.33 臺灣), 11/14/2020 20:00:25
ucrxzero: 我有一個問題,你現在還能用HDD開機為何還要用Live? 11/14 20:03

有用HDD開機後試著對SSD裝grub,但不行,為什麼不行的message忘了,
想說LiveCD說不定比較厲害,然後就真的很厲害的把SSD上的Ubuntu毀了

ucrxzero: bitlife神 11/14 20:03
bitlife: 我前面推文就是在講grub是載入linux必須的[bootloader] 11/14 20:03
bitlife: grub是縮寫,它的b就是那個bootloader 11/14 20:03
bitlife: 所以改成說不一定要grub還是不行的 11/14 20:05
bitlife: 我只是比較老(物理),沒有比較神 XD 11/14 20:08
※ 編輯: in09 (114.37.179.33 臺灣), 11/14/2020 20:55:42
bitlife: 你用LiveCD裝grub的語意,如果不是自行下命令列指定root分 11/14 21:07
bitlife: 區,會變成安裝grub來boot你的live CD的root分區,然後你CD 11/14 21:08
bitlife: 取出重開機後,當初那個ramdisk的root分區就消失了,所以開 11/14 21:08
bitlife: 不起來 11/14 21:08
bitlife: 找一下網路上的live usb修復grub教學,基本上就是要在你實 11/14 21:10
bitlife: 際的SDD root分區的/裏裝上grub,至於怎麼做就找教學文吧 11/14 21:10
bitlife: 等一下,我忘了live cd本身有修復,所以如果你是用livecd修 11/14 21:28
bitlife: 復功能而非在try livecd環境中執行的安裝grub,請忽略以上 11/14 21:29
bitlife: 推文  11/14 21:29
Bencrie: kernel 把必要的 driver built-in、cmdline built-in 11/14 21:32
Bencrie: UEFI 是可以直接開 Linux。UEFI自己就能當 bootloader XD 11/14 21:33
bitlife: bootloader本來就分在flash裏和hdd/sdd裏的兩階段,然後 11/14 21:34
bitlife: UEFI本來就是bootloader的一環,但是我必須承認這下grub會 11/14 21:35
bitlife: 變非必須 XD 但是這是上面所謂的「不複雜」的情況 XD 11/14 21:36
ucrxzero: 因為UEFI可以直接選efi檔案進行開機 但不知為啥危險 11/14 21:54
bitlife: 沒開secure boot時怕boot到一隻大型木馬啊 XD 11/14 22:06
ucrxzero: 是因為UEFI是用C寫的可以進行Buffer overflow的攻擊? 11/14 22:07
ucrxzero: 抱歉還不太懂木馬是什麼 11/14 22:07
ucrxzero: 但我通常不開secure boot因為load不了驅動程式 11/14 22:08
ucrxzero: 感謝解答 11/14 22:08
bitlife: 木馬可google trojan horse. 驅動程式要signed過,sign又 11/14 22:13
bitlife: 牽涉到uefi內建金鑰問題,通常廠商只內建微軟的key 11/14 22:14
bitlife: 所以搞到後來大家都先關secure boot(好像預設也關了?XD) 11/14 22:16
holishing: 有需要的使用者裝 Ubuntu,CentOS,Debian 時還是可以 11/14 23:21
holishing: 試試看 secure boot,理論上都可以 11/14 23:21
hizuki: bootloader簡單說是用來init memory和外部儲存器的,嵌入 11/24 20:08
hizuki: 式很有感 11/24 20:08

你可能也想看看

搜尋相關網站