比如:dd if=/dev/zero of=/dev/vda bs=446 count=1
進入挽救模式後,執行 grub2-install /dev/vda
真實環境中我們可以用一條命令生成grub2-mkconfig生成這個檔案並且重定向到丟失的檔案中:grub2-mkconfig > /boot/grub2/grub.cfg
以這個思路,我們在拯救環境中直接切換到真實的系統環境中用上面的命令就可以生成,完成修復系統,但是在進入真實系統之前啟動會停留在grub的shell裡面,需要執行以下命令在重啟,執行grub2-mkconfig。
set root=』hd0,msdos1』 ##hd0 代表第一塊硬碟,msdos1 代表第乙個分割槽(視具體而定)
linux16 /vmlinuz-3……..ro root=/dev/vda1 (boot分割槽)
initrd16 /initramfs-3….. .img
boot
grub2-mkconfig > /boot/grub2/grub.cfg ##真實系統環境生成丟失檔案
思路跟上面一樣,真實環境中用grub2-install 可以生成
故拯救環境中還是切換到系統真實環境,在用命令生成
chroot /mnt/sysimages ##切換到真實系統環境
grub2-install ##生成目錄
推出拯救環境,重啟動,一切ok
分析:這個檔案源於核心,故找到核心的安裝包拆包拷貝到真實環境的/boot目錄裡面就可以解決了。
光碟機環境:
進入到拯救環境,df檢視到光碟機cdrom掛載在/run/install/repo上,找到repo找到packages裡面的kerner-………….. .rpm
rpm2cpio /run/install/repo/packages/kerner……… .rpm | cpio -id
cd boot
cp vmlinuz-3.10.0-327.el7.x86_64 /mnt/sysimage
reboot ,搞定。
網絡卡環境:分析:這個也是可以通過命令生成的,故進如拯救環境中再切換到真實環境命令生成即可
chroot /mnt/sysimages ##切換到真實系統環境
mkinitrd /mnt/sysimage/boot/initramfs-(u
name
−r).
img (uname -r)
這裡說一下,$(uname -r)表示當前系統核心版本號,uname -r可以檢視當前系統核心版本號,生成的時候注意,最後還有乙個核心版本號,不可寫丟了
等帶生成完成,退出拯救環境,重啟ok
分析:系統啟動第一步讀取grub2裡面的相關檔案,其次安裝核心(安裝的時候報錯,–force安裝)
進入挽救環境,切換到真實系統環境
chroot /mnt/sysimages ##切換到真實系統環境
grub2-install ##生成目錄
rpm -ivh /run/install/repo/packages/kerner-……….. .rpm –force ##安裝核心(包含initramfs-3….檔案和vmlinuz……檔案)
grub2-mkconfig >/boot/grub2/grub.cfg ##生成啟動介面的配置檔案
重啟動,一切ok
• /etc/systemd/system/default.target
第十九章 19 1 1節練習
練習19.1 使用malloc編寫你自己的operator new size t 函式,使用free編寫operator delete void 函式。解答 這個也就參考書中實現吧。不過這裡我更傾向於使用模板來實現,不把new的引數寫死。練習19.2 預設情況下,allocator類使用operat...
第十九章 19 2 1節練習
練習19.3 已知存在如下的類繼承體系,其中每個類分別定義了乙個公有的預設建構函式和乙個虛析構函式 class a class b public a class c public b class d public b,public a 下面的哪個dynamic cast將失敗?a a pa new ...
面試記錄第十九節 (MVC)
答 m 業務邏輯處理 v 處理資料顯示的部分 c 控制器,activity處理使用者互動的問題 答 在android開發過程中,比較流行的開發框架,曾經採用的是mvc模式,好處就是便於ui介面的顯示和業務邏輯的分離。具體來說model層 用來業務邏輯處理,例如一些資料庫的操作 網路操作或者一些複雜的...