timeshift恢復踩坑記

来源:https://www.cnblogs.com/nvmjom/archive/2022/12/14/16981546.html
-Advertisement-
Play Games

NTP 時間同步 NTP(Network Time Protocol)協議,網路時間協議。利用ntp協議可以實現網路中的電腦時間同步。 實現NTP協議的工具: ntpdate:只能同步一次時間 ntp:持久同步時間 chrony:持久同步時間,精度比上面的ntp更好,速度更快。 使用ntpdate ...


Timeshift恢復踩坑記

​ 由於情緒比較激動,所以大部分都是我描述自己心路歷程的廢話,想看看我怎麼莫名其妙又(並沒有完全)解決了問題的話,直接目錄->莫名其妙成功解決問題的辦法,希望能夠幫到你

​ 如果圖一樂,就看完吧

R-C

目錄

​ 玩Linux就是折騰。以前玩過幾次ArchLinux,系統崩過幾次,長了教訓,於是裝了Timeshift做Rsync的備份,想著有個萬一還有救。只是沒想到,這一次,萬一來了,還是出了狀況。

​ 現在用的是Deepin V20,穩定性也還可以,界面也挺好看的,雖然偶爾會卡一下,不過倒不是什麼大問題。但是當初裝系統的時候留了個問題,分區給的太小了。。。總共給了60GB,如果只是玩玩應該也夠了,問題就出在我是把Linux作為常用開發環境的,Windows也就周末打游戲用用。終於,就在昨天,這個問題爆發了。

​ 昨天,我的系統盤還是52/60GB,但我因為開發需要,需要在Linux下裝Vivado。看著80多個G的安裝包,我陷入了沉思。那總得搞啊,,,想了想,反正有備份,所以決定大膽嘗試,擴容後重裝系統再恢復回來,於是我先進行了下麵的操作:

  • 用做Timeshift做最後一次備份
  • 從我的ntfs放游戲的分區割了45G下來,把之前閑置的30G分區給刪了,然後把Linux系統盤格式化了。三個盤加起來135G,看起來差不多夠了
  • 之前下了20.7.1的Deepin鏡像拷貝進我的Ventoy U盤,裝系統
  • 新系統裝Timeshift,恢復!

​ 好,到這裡為止我覺得應該會一切順利,因為以前Deepin系統更新然後各種bug,我用Timeshift恢復,一切正常,然後開開心心等到bug fixed版本出了再快快樂樂更新的經歷。但是!!!這次重啟以後居然。。。進不了桌面了。。。

當時我的心情真是一萬隻草泥馬奔騰而過QAQ

讓我稍感安慰的是,按Ctrl+Alt+2還能切到命令行,還能進系統,不是完全炸了

但是,人生就是大起大落大起大落落落,正當我打算使用老辦法(因為以前出現過更新後進不了桌面的類似情況),重裝dde的時候,我看到了Read Only Filesystem bla bla bla,哦,G

我人傻了,為毛線會變成只讀系統了。。。

好吧,雖然我很急但先別急

我決定先冷靜一下,查查看還也沒有救

萬能的度娘(雖然實際上用的是bing)告訴我,運行mount看看系統分區的末尾掛載信息裡面是不是有ro

我一看,有

然後她告訴我,umount,再mount成rw,問題就解決了

然後我試了,沒用。。。

命令行告訴我,正掛著呢別掛了!

???

我不是umount了嗎

然後我仔細看了看,發現一件事,度娘給的例子都是其它盤只讀了,好像還沒見過根目錄的盤只讀的。。。

握草

不會根目錄沒法umount吧

好吧,這條路是g了

又查,激動的發現曾經也有個老哥重裝系統,也用timeshift恢復,然後進不了系統

但他的問題是以前的timeshift有點小bug,分區的UUID對不上,所以開不了,但我也不是進不了系統,我是進不了桌面還文件系統只讀,以後想命令行用都不成啊。。。

莫名其妙成功解決問題的方法

​ 好吧,度娘已經救不了我了,我決定靠自己。

​ 冷靜分析一下,我進入系統以後,自己看起來是沒法umount自己了(系統文件都在根目錄,我想umount根目錄確實不靠譜,好比你不能自己開了自己吧。。。) ,那麼問題來了,最開始是哪個老6埋伏了我,把系統盤掛成了ro(read only)???

​ 好像是grub

​ 所以,在剛開機進入引導頁面的時候就已經決定我能不能正常進入系統了。

​ 於是,我重啟了電腦,在引導界面我看到底部有一行貼心的小字:

...按E編輯...

​ 於是我把選項移到Deepin上,然後按了E,我發現在啟動命令裡面,還真有個ro:

	load_video
	insmod gzio
	if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
	insmod part_gpt
	insmod ext2
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root  fb15abff-15b2-4941-b972-3a79267455cb
	else
	  search --no-floppy --fs-uuid --set=root fb15abff-15b2-4941-b972-3a79267455cb
	fi
	linux	/boot/vmlinuz-5.15.77-amd64-desktop root=UUID=fb15abff-15b2-4941-b972-3a79267455cb ro splash quiet  DEEPIN_GFXMODE=$DEEPIN_GFXMODE
	initrd	/boot/initrd.img-5.15.77-amd64-desktop
	boot 

​ 我懷疑就是這個ro害的我進不去桌面!

​ 於是我把ro改成rw,然後,我成功進入桌面了

​ 這一段內容在/boot/grub/grub.cfg裡面,這個文件記錄了所有的efi啟動的配置,掛載在這個目錄的是EFI分區,我把裡面所有的ro都改成rw,於是怎麼啟動都能進桌面了!!!

6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666

後記

​ 雖然這樣莫名奇妙的解決了,但還是要復盤一下

​ 改完之後雖然能進桌面了,但在載入系統的時候按Esc還是能看到有一項掛載的任務出錯了,應該正常情況下就是這一項任務把最開始ro掛載的系統盤改成rw。這項任務掛了,進入系統也就看到了ro(但,純屬瞎猜)。只能說通過這種神奇的操作,彌補了這一個任務。

​ 好吧,雖然落下了Deepin開機從十幾秒到幾十秒的後遺症,但好歹能正常使用了。

​ 血的教訓啊QAQ

​ 嘗試有風險,瞎搞需謹慎

​ 這個故事告訴我們,不管怎麼瞎搞,一定要先做好備份,至少還有恢復的機會!!!

根據昨天發生在我自己身上的真實故事寫的真實故事,對於技術上我瞎搞的部分,如果有大佬路過知道是怎麼回事,敬請批評指正!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 本文講解Python熱載入技術,以及Reloading工具庫的使用。暫停運行的代碼,修改補充後重新運行,意味著訓練了數個小時的模型參數被捨棄。熱載入技術可以解決這個問題。 ...
  • 本文對Whitelabel Error Page進行源碼分析,詳細說明出現Whitelabel Error Page頁面的核心流程,並給出了自定義拓展的方案。 ...
  • 1、套接字socket簡介 Socket是應用層與TCP/UDP協議通信的中間軟體抽象層,它充當一種介面的角色!封裝了傳輸層以下的東西。 1.1基於tcp的socket通信流程圖 2.tcp服務端搭建 需求:模擬兩個手機的通話 from ipaddress import IPv4Address im ...
  • 本文主要介紹工廠設計模式的由來和主要形式,分別介紹和分析了普通工廠方法模式、多個工廠方法模式、靜態工廠方法模式以及抽象工廠方法模式。 ...
  • spring boot 使用攔截器 1.創建攔截器類,繼承HandlerInterceptor 2.註冊攔截器,指定攔截規則 spring framework 中的攔截器類需要繼承與HandlerInterceptor,spring boot也是一致的 package com.tons.interc ...
  • 概述 為什麼要用到深拷貝呢?比如我們建了某個類Person,並且實例化出一個對象,然後,突然需要把這個對象複製一遍,並且複製出來的對象要跟之前的一模一樣,來看下我們一般會怎麼做。 方法一(利用反射實現) public static T DeepCopy<T>(T obj) { //如果是字元串或值類 ...
  • 緣由 這兩天在梳理晶元的啟動流程, 研究到了鏈接腳本(樣本為stm32cube ide 中的 stm32f407 的 flash 鏈接腳本). 產生了一個疑問AT>是什麼? 答案 AT>就是用於指定這個section的載入記憶體地址(LMA)的 解釋 鏈接腳本生成sections要被載入到memory ...
  • 個人名片: 對人間的熱愛與歌頌,可抵歲月冗長:sun_with_face: Github👨🏻‍💻:念舒_C.ying CSDN主頁✏️:念舒_C.ying 個人博客:earth_asia: :念舒_C.ying @(目錄) 1 安裝之前檢測系統是否有自帶的MySQL #查詢是否使用rpm安裝過 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...