硬盘坏掉之后

news2024/11/25 12:26:13

文章目录

  • 背景
  • 解决方案
    • 数据丢失
    • 软件安装
  • 总结

背景

前一段时间,我的电脑突然就开不了机了,进入安全模式之后,发现硬盘无法读取,大概率是硬盘坏掉了。电脑是 MacBook,自己不太好换。于是跑到华强北,找了一家维修店,师傅给换了一块硬盘就好了(这里感谢一下董老师,带我跑华强北去维修)。

在硬盘坏掉之后,我发现可能会面临以下几个问题:

  1. 隐私泄漏(社死),电脑里面可能存了不想让别人知道的东东,如果硬盘修复一下又能够继续使用了,维修的师傅可能会看到硬盘上的内容,特别是如果不是立等可取的话,电脑放在别人那里很没安全感;
  2. 数据丢失,如果硬盘坏掉,里面的数据全部或者部分都会丢掉;
  3. 系统重装,所有软件重新安装,环境变量需要重新配置,非常的麻烦。

解决方案

因为我的硬盘是整个坏掉了,里面的数据也没办法读取了,所以也不存在社死的问题,换了硬盘之后,我就把坏掉的硬盘拿回家了。
这里主要分享一下数据丢失和软件重装的解决方案。

数据丢失

备份!备份!备份!重要的事情说三遍!
我在家里部署了一台 NAS,所有的数据我都会定期的往里面存,我用的是群晖的机器 DS220+ ,这个型号有两个硬盘插槽,互相备份,除非两块硬盘同时坏掉,否则数据不会丢失。

另外,它里面还有非常多的套件,有一个网盘同步的套件,可以将本地的数据同步到网盘里面,基本上市面上主流的网盘都支持,我就开了个百度网盘,将本地的数据再同步到百度网盘里面,这样就更加不会丢失了。

有个问题,群晖的用户量比较大,用它的 QuickConnect 服务,在外网访问的时候有时候速度会比较慢,在局域网里面就没问题。
这里可以考虑下国产的方案,比如华为家庭存储,使用华为全家桶的话,体验会比较好。

软件安装

还有另外一个让人烦恼的问题,就是换了硬盘之后,软件都必须重新安装,有一些环境变量还需要重新配置,都是一些没有技术含量的体力活,特别费劲。也可以将整个系统进行备份,但是这样就不太灵活,不方便随时更改。

docker可以解决么?
一开始,我想是不是可以用 docker 来解决呢?比如用 docker 部署一个 Android 的开发环境,这样当换电脑的时候,只要把对应的镜像下载到本地就可以了,而不需要再重新安装 java,Android studio,Android sdk,NDK 乱七八糟的一堆东西。

想象得很美好,但实际上好像不太行。docker 本身是用于部署运维的工具,对于 UI 貌似支持得不太好,而且 docker 在 Mac 上虚拟出一个 linux 环境,性能肯定没有直接在本机上跑好,所以这个方案不是很好。

homebrew
接着我想是不是可以用脚本来解决呢?

本质上我只是不想再做一些重复的体力活,如果将安装和配置环境变量的过程用脚本来实现,我只需要执行一下,就自动将环境配置好了,这样也能够满足我的需求,而且脚本还可以随时修改。

然后我就发现了 homebrew 这个神器!我们常用的一些软件,竟然都可以用它来安装,并且安装完成之后自动就帮我们配置好了环境变量!特别方便!

这里可以直接搜索它支持安装的软件
https://formulae.brew.sh/
在这里插入图片描述
然后,再写个脚本,就可以将我们需要的软件批量安装了!
分享一下我写的脚本,除了 ohmyzsh 是需要自己写安装过程,其他的软件都只要一行代码就可以了

#!/usr/bin/env base

#一些基础的软件
init() {
    /bin/bash -c "$(curl -fsSL https://gitee.com/ineo6/homebrew-install/raw/master/install.sh)"
    brew install git
    brew install git-lfs
    ohmyzsh
}

ohmyzsh() {
    # 安装
    sh -c "$(curl -fsSL https://gitee.com/mirrors/oh-my-zsh/raw/master/tools/install.sh)"
    #安装插件
    git clone https://gitee.com/bright_007_admin/zsh-autosuggestions.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
    #配置插件
    tobeReplaced='plugins=(git)'
    replaced='plugins=(git zsh-autosuggestions)'
    file=~/.zshrc
    sed -i '.bak' "s/$tobeReplaced/$replaced/" "${file}"
    #提升速度
    git config --add oh-my-zsh.hide-dirty 1
    git config --add oh-my-zsh.hide-status 1
}

android() {
    brew install --cask android-studio
    brew install --cask homebrew/cask-versions/adoptopenjdk8
    # brew install --cask android-sdk
    # brew install --cask android-ndk
    brew install gradle
    brew install android-platform-tools
    brew install --cask flutter
}

other() {
    brew install nodejs
    brew install npm
    brew install python3
    # 博客工具
    npm install hexo-cli -g
    brew install --cask intellij-idea-ce
}

tools() {
    brew install --cask visual-studio-code
    brew install --cask snipaste
    brew install --cask utools
    brew install --cask google-chrome
    brew install --cask wpsoffice-cn
    brew install --cask betterzip
    brew install --cask safeincloud-password-manager
    brew install --cask wechat
    brew install --cask qq
    brew install --cask wechatwork
    brew install --cask notion
}

finish() {
    brew cleanup
}

#功能:往环境变量文件里面写入内容,如果文件里面已经存在,则不写入
write() {
    content=$1
    # 环境变量文件
    envFile=~/.zshrc
    if cat $envFile | grep "$content" >/dev/null; then
        echo "已经存在配置${content},不写入"
    else
        echo "写入配置${content}"
        echo "${content}" >>$envFile
    fi
}

echo "开始配置"
init
android
other
tools
finish
echo "结束配置"

总结

所以终极解决方案就是 NAS + homebrew

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/459346.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

电脑无论是连接热点,还是公共网络,qq、微信都能用,就是不能上网,现分享解决办法如下。

这里写自定义目录标题 问题引入:解决办法1、打开电脑的控制面板2、点击 “网络和internet”3、点击 “internet 选项”4、点击 “连接”5、点击 “局域网设置”6、按照下面操作 问题引入: 在魔法使用网站之后,忘记关闭 clash 按钮就关闭电脑&…

Spring-学习修改尚硅谷最新教程笔记

二、Spring 1、Spring简介 1.1、Spring概述 官网地址:https://spring.io/ Spring 是最受欢迎的企业级 Java 应用程序开发框架,数以百万的来自世界各地的开发人员使用 Spring 框架来创建性能好、易于测试、可重用的代码。 Spring 框架是一个开源的 Jav…

数据湖Iceberg-SparkSQL集成(4)

文章目录 数据湖Iceberg-SparkSQL集成一、环境准备安装Spark 二、Spark配置Catalog2.1在配置文件中添加HiveCatalog与HadoopCatalog配置(一劳永逸)2.2使用spark-sql连接Hive Catalog2.3使用spark-sql连接Hadoop Catalog 三、SQL操作3.1 创建表创建分区表…

一个 24 通道 100Msps 逻辑分析仪

这是一个创建非常便宜的逻辑分析仪的项目,但其功能可与昂贵的商业分析仪相媲美。该分析仪可以以每秒 1 亿个样本的最高速度对多达 24 个通道进行采样,并且可以通过单个通道中的极性变化或多达 16 个通道形成的模式来触发。 该项目不仅包含硬件&#xff0…

去银行还是干嵌入式?

晚上要睡觉的时候,一个读者给我发消息 说是最近拿到了4个offer,现在犹豫不决 听说,最近嵌入式突然就火起来了。 不过,嵌入式很多人的薪资还是低了,而且,工作很多年后,嵌入式的工作,那…

蛋白冠™蛋白质组学技术实现快速深入精确地解析血浆蛋白质图谱

文章标题:Rapid, deep and precise profiling of the plasma proteome with multi-nanoparticle protein corona 发表期刊:Nature Communications 影响因子:17.694 作者单位:哈佛医学院;Seer,美国&#…

opencv (六十四)监督学习聚类(k近邻原理、支持向量机原理、k近邻(KNN)手写字识别、支持向量机数据分类)

文章目录 1 k近邻原理介绍2 支持向量机原理3 K近邻(KNN)手写字识别训练模型4 手写字识别5 支持向量机 进行数据分类6 源代码及数据文件下载1 k近邻原理介绍 k最近邻(k-Nearest Neighbor)算法是比较简单的机器学习算法。它采用测量不同特征值之间的距离方法进行分类。它的思想…

算法刷题知识点总结

因为数组的在内存空间的地址是连续的,所以我们在删除或者增添元素的时候,就难免要移动其他元素的地址。 二分法:采用两个指针,注意他们的区间划分; 双指针法,用于查找排序:双指针将一个两层循…

BUUCTF warmup_csaw_2016

小白垃圾做题笔记而已,不建议阅读。 唉,本来以为是让写shellcode的打了半天没打通,后来发现疏忽了sub_40060D函数。 前两行(6,7)没啥就是把那个字符串写到屏幕上。 然后是第八行, sprintf(): 这个函数用于将格式化的字符串写入…

Linux安装MongoDB数据库,实现外网远程连接访问

文章目录 1. 配置Mongodb源2. 安装MongoDB3. 局域网连接测试4. 安装cpolar内网穿透5. 配置公网访问地址6. 公网远程连接7. 固定连接公网地址8. 使用固定地址连接 简单几步实现Linux安装mongoDB数据库并且结合cpolar内网穿透实现在公网环境下的远程连接。 1. 配置Mongodb源 进…

聊聊开源类ChatGPT工作——MOSS

自从ChatGPT发布以来,它的“三步走方案”就好比《九阴真经》流落到AI江湖中,各大门派练法不一,有人像郭靖一样正着练,循序渐进;有人像欧阳锋一样反着练,守正出奇;也有像梅超风一样仅练就半部《九…

5、认真学习枚举类型

1、数字枚举 // 这里你的TSLint可能会报一个:枚举声明只能与命名空间或其他枚举声明合并。这样的错误,这个不影响编译 enum Status {Uploading,Success,Failed } console.log(Status.Uploading); // 0 console.log(Status["Success"]); // 1 …

智能骨传导蓝牙耳机该如何选,分享几款不错的骨传导蓝牙耳机

骨传导耳机是一种通过骨骼传递声音的耳机。相比于传统的耳塞和头戴式耳机,它有许多优点,例如: 1.安全。因为无需通过耳膜进行声音传递,所以对听力影响较小。 2.对耳朵没有伤害。 3.舒适。 4.节省时间。由于无需通过耳膜传递声音&a…

Codefi基于区块链的开发框架

💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! Codefi基于区块链的开发框架 Codefi技术是一种基于区块链的开发框架,它提供了一系列工具和服务,帮助开发者轻松构建和管理去中心化应用程序。C…

【Access】win 10 / win 11:Access 下载、安装、使用教程(「管理信息系统」实践专用软件)

目录 一、前言 二、卸载 Office 三、下载 Office Tool Plus 四、安装 Office(内含 Access) (1)启动 Office Tool Plus (2)部署 (3)安装 Office(内含 Access&#…

C++STL详解(10) -- 使用哈希表封装unordered_set和unordered_map

文章目录 哈希表模板参数改造针对模板参数V改造增加仿函数获取具体数据类型. 哈希表的正向迭代器正向迭代器中的内置成员:正向迭代器的成员函数 哈希表插入函数的修改(适用于unordered_map)一个类型K去做set和unordered_set他的模板参数的必备条件.unordered_set的模拟实现(完整…

看完这篇文章你就彻底懂啦{保姆级讲解}-----(LeetCode刷题242有效的字母异位词) 2023.4.25

目录 前言算法题(LeetCode刷题242有效的字母异位词)—(保姆级别讲解)分析题目:有效的字母异位词代码:算法思想: 结束语 前言 本文章一部分内容参考于《代码随想录》----如有侵权请联系作者删除…

详解js跨页面传参以及API的解释

详解js跨页面传参 前言什么是跨页面传参?跨页面传参本质是什么?常见的跨页面传参方法URL参数传递localStorage和sessionStorage参数传递Cookie传递 经常听到API,那么到底的什么是API? 前几天有粉丝私信我,希望能把js跨…

超越YOLOv8,飞桨推出精度最高的实时检测器RT-DETR!

‍‍ 众所周知,实时目标检测( Real-Time Object Detection )一直由 YOLO 系列模型主导。 飞桨在去年 3 月份推出了高精度通用目标检测模型 PP-YOLOE ,同年在 PP-YOLOE 的基础上提出了 PP-YOLOE 。后者在训练收敛速度、下游任务泛化能力以及高性能部署能力…

搞懂 API ,地图 API 制作方法分享

地图 API 是一种基于 Web 开发的应用程序编程接口,可以用于创建和展示地图及地理信息。以下是一些地图 API 制作的方法: 选择地图 API 平台:目前市场上有很多地图 API 平台供选择,比如 Google Maps API、百度地图 API、高德地图 A…